summaryrefslogtreecommitdiff
path: root/manipulating_strings/slides.org
blob: b38784f187c2c64b82c2eae6a2f84f68478b81f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_FRAME_LEVEL: 1

#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC

#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]

#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}

#+LaTeX_HEADER: \usepackage{listings}

#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
#+LaTeX_HEADER:  commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
#+LaTeX_HEADER:  showstringspaces=false, keywordstyle=\color{blue}\bfseries}

#+TITLE:     
#+AUTHOR:    FOSSEE
#+EMAIL:     
#+DATE:    

#+DESCRIPTION: 
#+KEYWORDS: 
#+LANGUAGE:  en
#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc

* 
#+begin_latex
\begin{center}
\vspace{12pt}
\textcolor{blue}{\huge Manipulating Strings}
\end{center}
\vspace{18pt}
\begin{center}
\vspace{10pt}
\includegraphics[scale=0.95]{../images/fossee-logo.png}\\
\vspace{5pt}
\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ 
\scriptsize Funded by National Mission on Education through ICT\\
\scriptsize  MHRD,Govt. of India\\
\includegraphics[scale=0.30]{../images/iitb-logo.png}\\
\end{center}
#+end_latex
* Objectives
  At the end of this tutorial, you will be able to,

 - Slice strings and get sub-strings out of them.
 - Reverse strings.
 - Replace characters in strings. 
 - Convert strings to upper or lower case.
 - Join a list of strings.
* Pre-requisite
  Spoken tutorial on -
  - Getting started with strings.
  - Getting started with lists.
  - Basic datatypes and operators.
* Forms
 - sat
 - saturday
 - Sat
 - Saturday
 - SAT
 - SATURDAY
* Exercise 1
 - Obtain the sub-string excluding the first and last characters from
  the string ~s~.
* Exercise 2
  - Given a list week, week = ~week = ["sun", "mon", "tue", "wed",
  "thu", "fri", "sat"]~. Check if ~s~ is a valid name of a day of the
  week. Change the solution to this problem, to include forms like,
  SAT, SATURDAY, Saturday and Sat.
* Exercise 3
 - Given ~email~ -- ~info@fossee[dot]in~

  Replace the ~[dot]~ with ~.~ in ~email~
* Exercise 4
 - From the ~email\_str~ that we generated, change the separator to be a
  semicolon instead of a comma.
* Summary
  In this tutorial, we have learnt to, 

 - Obtain sub-strings and reverse of strings by using the index numbers
 - Use following functions -
    - ``upper()'' -- to obtain the upper case of a string
    - ``lower()'' -- to obtain the lower case of a string
    - ``replace()'' -- to replace a character by another one
    - ``join()'' -- to join a list of strings with an operator

* Evaluation
1. Given a string s = "this is a string", how will you change it
   to "this isn't a list" 

2. Given the string "F.R.I.E.N.D.S" in s, obtain the string "friends".

* Solutions
1. 
#+begin_src Python
s = s.replace("string", "list")
s = s.replace("is", "isn't")
s
#+end_src

2. s[::2].lower()

* 
#+begin_latex
  \begin{block}{}
  \begin{center}
  \textcolor{blue}{\Large THANK YOU!} 
  \end{center}
  \end{block}
\begin{block}{}
  \begin{center}
    For more Information, visit our website\\
    \url{http://fossee.in/}
  \end{center}  
  \end{block}
#+end_latex