summaryrefslogtreecommitdiff
path: root/manipulating-strings
diff options
context:
space:
mode:
Diffstat (limited to 'manipulating-strings')
-rw-r--r--manipulating-strings/quickref.tex14
-rw-r--r--manipulating-strings/script.rst255
-rw-r--r--manipulating-strings/slides.org94
-rw-r--r--manipulating-strings/slides.tex150
4 files changed, 0 insertions, 513 deletions
diff --git a/manipulating-strings/quickref.tex b/manipulating-strings/quickref.tex
deleted file mode 100644
index 533a1ef..0000000
--- a/manipulating-strings/quickref.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\textbf{Manipulating strings}
-
-String indexing starts from 0, like lists.
-
-\lstinline|s = `Hello World'|\\
-\lstinline|s[0:5]| gives \texttt{Hello}\\
-\lstinline|s[6:]| gives \textt{World}\\
-\lstinline|s[6::2]| gives \textt{Wrd}\\
-
-\lstinline|s.replace('e', 'a')| returns a new string with all e's
-replaced by a.
-
-\lstinline|s.lower()| and \lstinline|s.upper()| return new strings
-with all lower and upper case letters, respectively.
diff --git a/manipulating-strings/script.rst b/manipulating-strings/script.rst
deleted file mode 100644
index 3cc1b9c..0000000
--- a/manipulating-strings/script.rst
+++ /dev/null
@@ -1,255 +0,0 @@
-.. Objectives
-.. ----------
-
-.. By the end of this tutorial, you will be able to
-
-.. 1. Slice strings and get sub-strings out of them
-.. #. Reverse strings
-.. #. Replace characters in strings.
-.. #. Convert strings to upper or lower case
-.. #. joining a list of strings
-
-.. Prerequisites
-.. -------------
-
-.. 1. getting started with strings
-.. #. getting started with lists
-.. #. basic datatypes
-
-.. Author : Puneeth
- Internal Reviewer : Amit
- External Reviewer :
- Language Reviewer : Bhanukiran
- Checklist OK? : <08-11-2010, Anand, OK> [2010-10-05]
-
-Script
-------
-
-{{{ Show the slide containing title }}}
-
-Hello Friends. Welcome to this tutorial on manipulating strings.
-
-{{{ show the slide with outline }}}
-
-In this tutorial we shall learn to manipulate strings, specifically
-slicing and reversing them, or replacing characters, converting from
-upper to lower case and vice-versa and joining a list of strings.
-
-We have an ``ipython`` shell open, in which we are going to work,
-through out this session.
-
-Let us consider a simple problem, and learn how to slice strings and
-get sub-strings.
-
-Let's say the variable ``week`` has the list of the names of the days
-of the week.
-
-::
-
- week = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]
-
-
-Now given a string ``s``, we should be able to check if the string is a
-valid name of a day of the week or not.
-
-::
-
- s = saturday
-
-
-``s`` could be in any of the forms --- sat, saturday, Sat, Saturday,
-SAT, SATURDAY. For now, shall now be solving the problem only for the forms,
-sat and saturday. We shall solve it for the other forms, at the end of
-the tutorial.
-
-{{{ show these forms in a slide }}}
-
-So, we need to check if the first three characters of the given string
-exists in the variable ``week``.
-
-As, with any of the sequence data-types, strings can be sliced into
-sub-strings. To get the first three characters of s, we say,
-
-::
-
- s[0:3]
-
-Note that, we are slicing the string from the index 0 to index 3, 3
-not included.
-
-As we already know, the last element of the string can be accessed
-using ``s[-1]``.
-
-Following is an exercise that you must do.
-
-%%1%% Obtain the sub-string excluding the first and last characters
-from the string s.
-
-Please, pause the video here. Do the exercise(s) and then continue.
-
-::
-
- s[1:-1]
-
-gives the substring of s, without the first and the last
-characters of s.
-
-::
-
- s = saturday
- s[:3]
-
-Now, we just check if that substring is present in the variable
-``week``.
-
-::
-
- s[:3] in week
-
-Let us now consider the problem of finding out if a given string is
-palindromic or not. First of all, a palindromic string is a string
-that remains same even when it has been reversed.
-
-Let the string given be ``malayalam``.
-
-::
-
- s = "malayalam"
-
-Now, we need to compare this string with it's reverse.
-
-Again, we will use a technique common to all sequence data-types,
-[::-1]
-
-So, we obtain the reverse of s, by simply saying,
-
-::
-
- s[::-1]
-
-Now, to check if the string is ``s`` is palindromic, we say
-::
-
- s == s[::-1]
-
-As, expected, we get ``True``.
-
-Now, if the string we are given is ``Malayalam`` instead of
-``malayalam``, the above comparison would return a False. So, we will
-have to convert the string to all lower case or all upper case, before
-comparing. Python provides methods, ``s.lower`` and ``s.upper`` to
-achieve this.
-
-Let's try it out.
-::
-
- s = "Malayalam"
-
- s.upper()
-
- s
-
-As you can see, s has not changed. It is because, ``upper`` returns a
-new string. It doesn't change the original string.
-
-::
-
- s.lower()
-
- s.lower() == s.lower()[::-1]
-
-Following is an exercise that you must do.
-
-%%2%% 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.
-
-Please, pause the video here. Do the exercise and then continue.
-
-::
-
- s in week
-
- s.lower()[:3] in week
-
-
-So, as you can see, now we can check for presence of ``s`` in
-``week``, in whichever format it is present -- capitalized, or all
-caps, full name or short form.
-
-We just convert any input string to lower case and then check if it is
-present in the list ``week``.
-
-Now, let us consider another problem. We often encounter e-mail id's
-which have @ and periods replaced with text, something like
-info[at]fossee[dot]in. We now wish to get back proper e-mail
-addresses.
-
-Let's say the variable email has the email address.
-::
-
- email = "info[at]fossee[dot]in"
-
-Now, we first replace the ``[at]`` with the ``@``, using the replace
-method of strings.
-::
-
- email = email.replace("[at]", "@")
- print email
-
-Following is an exercise that you must do.
-
-%%3%% Replace the ``[dot]`` with ``.`` in ``email``
-
-Please, pause the video here. Do the exercise and then continue.
-
-::
-
- email = email.replace("[dot]", ".")
- print email
-
-Now, let's look at another interesting problem where we have a list of
-e-mail addresses and we wish to obtain one long string of e-mail
-addresses separated by commas or semi-colons.
-
-::
-
- email_list = ["info@fossee.in", "enquiries@fossee.in", "help@fossee.in"]
-
-
-Now, if we wish to obtain one long string, separating each of the
-email id by a comma, we use the join operator on ``,``.
-
-::
-
- email_str = ", ".join(email_list)
- print email_str
-
-Notice that the email ids are joined by a comma followed by a space.
-
-Following is an exercise that you must do.
-
-%%3%% From the email_str that we generated, change the separator to be
-a semicolon instead of a comma.
-
-Please, pause the video here. Do the exercise and then continue.
-
-::
-
- email_str = email_str.replace(",", ";")
-
-That brings us to the end of the tutorial.
-
-{{{ show summary slide }}}
-
-In this tutorial, we have learnt how to get substrings, reverse
-strings and a few useful methods, namely upper, lower, replace and
-join.
-
-{{{ Show the "sponsored by FOSSEE" slide }}}
-
-This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India
-
-Hope you have enjoyed and found it useful.
-Thank you!
-
diff --git a/manipulating-strings/slides.org b/manipulating-strings/slides.org
deleted file mode 100644
index cb8adfd..0000000
--- a/manipulating-strings/slides.org
+++ /dev/null
@@ -1,94 +0,0 @@
-#+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: Manipulating strings
-#+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
-
-* Outline
- - Slicing strings to get sub-strings
- - Reversing strings
- - Replacing characters in strings.
- - Converting strings to upper or lower case
- - Joining a list of strings
-* Question 1
- Obtain the sub-string excluding the first and last characters from
- the string ~s~.
-* Solution 1
- #+begin_src python
- In []: s[1:-1]
- #+end_src
-* Question 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.
-* Solution 2
- #+begin_src python
- In []: s in week
- In []: s.lower()[:3] in week
- #+end_src
-* Question 3
- Given ~email~ -- ~info@fossee[dot]in~
-
- Replace the ~[dot]~ with ~.~ in ~email~
-* Solution 3
- #+begin_src python
- email.replace('[dot], '.')
- print email
- #+end_src
-* Question 4
- From the ~email_str~ that we generated, change the separator to be a
- semicolon instead of a comma.
-* Solution 4
- #+begin_src python
- email_str = email_str.replace(",", ";")
- #+end_src
-* Summary
- You should now 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
-
-* Thank you!
-#+begin_latex
- \begin{block}{}
- \begin{center}
- This spoken tutorial has been produced by the
- \textcolor{blue}{FOSSEE} team, which is funded by the
- \end{center}
- \begin{center}
- \textcolor{blue}{National Mission on Education through \\
- Information \& Communication Technology \\
- MHRD, Govt. of India}.
- \end{center}
- \end{block}
-#+end_latex
-
-
diff --git a/manipulating-strings/slides.tex b/manipulating-strings/slides.tex
deleted file mode 100644
index ed0317b..0000000
--- a/manipulating-strings/slides.tex
+++ /dev/null
@@ -1,150 +0,0 @@
-% Created 2010-10-28 Thu 11:35
-\documentclass[presentation]{beamer}
-\usepackage[latin1]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{fixltx2e}
-\usepackage{graphicx}
-\usepackage{longtable}
-\usepackage{float}
-\usepackage{wrapfig}
-\usepackage{soul}
-\usepackage{t1enc}
-\usepackage{textcomp}
-\usepackage{marvosym}
-\usepackage{wasysym}
-\usepackage{latexsym}
-\usepackage{amssymb}
-\usepackage{hyperref}
-\tolerance=1000
-\usepackage[english]{babel} \usepackage{ae,aecompl}
-\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
-\usepackage{listings}
-\lstset{language=Python, basicstyle=\ttfamily\bfseries,
-commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
-showstringspaces=false, keywordstyle=\color{blue}\bfseries}
-\providecommand{\alert}[1]{\textbf{#1}}
-
-\title{Manipulating strings}
-\author{FOSSEE}
-\date{}
-
-\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
-\begin{document}
-
-\maketitle
-
-
-
-
-
-
-
-
-
-\begin{frame}
-\frametitle{Outline}
-\label{sec-1}
-
-\begin{itemize}
-\item Slicing strings to get sub-strings
-\item Reversing strings
-\item Replacing characters in strings.
-\item Converting strings to upper or lower case
-\item Joining a list of strings
-\end{itemize}
-\end{frame}
-\begin{frame}
-\frametitle{Question 1}
-\label{sec-2}
-
- Obtain the sub-string excluding the first and last characters from
- the string \texttt{s}.
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 1}
-\label{sec-3}
-
-\begin{verbatim}
-In []: s[1:-1]
-\end{verbatim}
-\end{frame}
-\begin{frame}
-\frametitle{Question 2}
-\label{sec-4}
-
- Given a list week, week = \texttt{week = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]}. Check if \texttt{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.
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 2}
-\label{sec-5}
-
-\begin{verbatim}
-In []: s in week
-In []: s.lower()[:3] in week
-\end{verbatim}
-\end{frame}
-\begin{frame}
-\frametitle{Question 3}
-\label{sec-6}
-
- Given \texttt{email} -- \texttt{info@fossee[dot]in}
-
- Replace the \texttt{[dot]} with \texttt{.} in \texttt{email}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 3}
-\label{sec-7}
-
-\begin{verbatim}
-email.replace('[dot], '.')
-print email
-\end{verbatim}
-\end{frame}
-\begin{frame}
-\frametitle{Question 4}
-\label{sec-8}
-
- From the \texttt{email\_str} that we generated, change the separator to be a
- semicolon instead of a comma.
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 4}
-\label{sec-9}
-
-\begin{verbatim}
-email_str = email_str.replace(",", ";")
-\end{verbatim}
-\end{frame}
-\begin{frame}
-\frametitle{Summary}
-\label{sec-10}
-
- You should now be able to --
-\begin{itemize}
-\item Slice strings and get sub-strings out of them
-\item Reverse strings
-\item Replace characters in strings.
-\item Convert strings to upper or lower case
-\item Join a list of strings
-\end{itemize}
-\end{frame}
-\begin{frame}
-\frametitle{Thank you!}
-\label{sec-11}
-
- \begin{block}{}
- \begin{center}
- This spoken tutorial has been produced by the
- \textcolor{blue}{FOSSEE} team, which is funded by the
- \end{center}
- \begin{center}
- \textcolor{blue}{National Mission on Education through \\
- Information \& Communication Technology \\
- MHRD, Govt. of India}.
- \end{center}
- \end{block}
-\end{frame}
-
-\end{document}