Slides for manipulating strings LO.
authorPuneeth Chaganti <punchagan@fossee.in>
Mon, 11 Oct 2010 11:40:43 +0530
changeset 286 44f06ae0d957
parent 285 7c4855fb8e5f
child 287 d9507624eb8f
child 310 c670fa2c375e
Slides for manipulating strings LO.
manipulating-strings/script.rst
manipulating-strings/slides.org
manipulating-strings/slides.tex
--- a/manipulating-strings/script.rst	Mon Oct 11 11:40:04 2010 +0530
+++ b/manipulating-strings/script.rst	Mon Oct 11 11:40:43 2010 +0530
@@ -6,7 +6,7 @@
 .. 1. Slice strings and get sub-strings out of them
 .. #. Reverse strings
 .. #. Replace characters in strings. 
-.. #. Convert to strings to upper or lower case
+.. #. Convert strings to upper or lower case
 .. #. joining a list of strings
 
 .. Prerequisites
@@ -84,7 +84,7 @@
 Following is an exercise that you must do. 
 
 %%1%% Obtain the sub-string excluding the first and last characters
-from the string.
+from the string s. 
 
 Please, pause the video here. Do the exercise(s) and then continue. 
 
@@ -167,6 +167,8 @@
 
 ::
 
+    s in week
+
     s.lower()[:3] in week
 
 We just convert any input string to lower case and then check if it is
@@ -191,7 +193,7 @@
 
 Following is an exercise that you must do. 
 
-%%3%% Replace the ``[dot]`` with ``.``
+%%3%% Replace the ``[dot]`` with ``.`` in ``email``
 
 Please, pause the video here. Do the exercise and then continue. 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/manipulating-strings/slides.org	Mon Oct 11 11:40:43 2010 +0530
@@ -0,0 +1,94 @@
+#+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
+
+
--- a/manipulating-strings/slides.tex	Mon Oct 11 11:40:04 2010 +0530
+++ b/manipulating-strings/slides.tex	Mon Oct 11 11:40:43 2010 +0530
@@ -1,95 +1,142 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%Tutorial slides on Python.
-%
-% Author: FOSSEE 
-% Copyright (c) 2009, FOSSEE, IIT Bombay
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\documentclass[14pt,compress]{beamer}
-%\documentclass[draft]{beamer}
-%\documentclass[compress,handout]{beamer}
-%\usepackage{pgfpages} 
-%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
-
-% Modified from: generic-ornate-15min-45min.de.tex
-\mode<presentation>
-{
-  \usetheme{Warsaw}
-  \useoutertheme{infolines}
-  \setbeamercovered{transparent}
-}
-
-\usepackage[english]{babel}
+% Created 2010-10-11 Mon 11:27
+\documentclass[presentation]{beamer}
 \usepackage[latin1]{inputenc}
-%\usepackage{times}
 \usepackage[T1]{fontenc}
-
-\usepackage{ae,aecompl}
-\usepackage{mathpazo,courier,euler}
-\usepackage[scaled=.95]{helvet}
+\usepackage{fixltx2e}
+\usepackage{graphicx}
+\usepackage{longtable}
+\usepackage{float}
+\usepackage{wrapfig}
+\usepackage{soul}
+\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}}
 
-\definecolor{darkgreen}{rgb}{0,0.5,0}
-
-\usepackage{listings}
-\lstset{language=Python,
-    basicstyle=\ttfamily\bfseries,
-    commentstyle=\color{red}\itshape,
-  stringstyle=\color{darkgreen},
-  showstringspaces=false,
-  keywordstyle=\color{blue}\bfseries}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Macros
-\setbeamercolor{emphbar}{bg=blue!20, fg=black}
-\newcommand{\emphbar}[1]
-{\begin{beamercolorbox}[rounded=true]{emphbar} 
-      {#1}
- \end{beamercolorbox}
-}
-\newcounter{time}
-\setcounter{time}{0}
-\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}}
-
-\newcommand{\typ}[1]{\lstinline{#1}}
-
-\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}}  }
-
-% Title page
-\title{Your Title Here}
-
-\author[FOSSEE] {FOSSEE}
-
-\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+\title{Manipulating strings}
+\author{FOSSEE}
 \date{}
 
-% DOCUMENT STARTS
+\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
 \begin{document}
 
+\maketitle
+
+
+
+
+
+
+
+
+
 \begin{frame}
-  \maketitle
+\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{Outline}
-  \begin{itemize}
-    \item 
-  \end{itemize}
+\frametitle{Solution 1}
+\label{sec-3}
+
+\lstset{language=Python}
+\begin{lstlisting}
+In []:  s[1:-1]
+\end{lstlisting}
 \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}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%              All other slides here.                  %%
-%% The same slides will be used in a classroom setting. %% 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lstset{language=Python}
+\begin{lstlisting}
+In []:  s in week
+In []:  s.lower()[:3] in week
+\end{lstlisting}
+\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{Summary}
-  \begin{itemize}
-    \item 
-  \end{itemize}
+\frametitle{Solution 3}
+\label{sec-7}
+
+\lstset{language=Python}
+\begin{lstlisting}
+email.replace('[dot], '.')
+print email
+\end{lstlisting}
+\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}
 
+\lstset{language=Python}
+\begin{lstlisting}
+email_str = email_str.replace(",", ";")
+\end{lstlisting}
+\end{frame}
 \begin{frame}
-  \frametitle{Thank you!}  
+\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