From b50e99f58a8ffc40b977120dd486eb0513aa3b8b Mon Sep 17 00:00:00 2001
From: Jovina
Date: Mon, 19 Sep 2011 16:52:15 +0530
Subject: Modified slides of 'basic Python' and 'Advanced Python' .

---
 basic_python/slides/strings_loops_lists.tex | 244 ++++++++++++++--------------
 1 file changed, 122 insertions(+), 122 deletions(-)

(limited to 'basic_python/slides/strings_loops_lists.tex')

diff --git a/basic_python/slides/strings_loops_lists.tex b/basic_python/slides/strings_loops_lists.tex
index 3d6d8e8..26d7b54 100644
--- a/basic_python/slides/strings_loops_lists.tex
+++ b/basic_python/slides/strings_loops_lists.tex
@@ -8,11 +8,11 @@
   \item Any length --- single character, null string, \ldots
   \end{itemize}
   \begin{lstlisting}
-    'This is a string'
-    "This is a string too'
-    '''This is a string as well'''
-    """This is also a string"""
-    ''  # empty string
+   In[]: 'This is a string'
+   In[]: "This is a string too'
+   In[]: '''This is a string as well'''
+   In[]: """This is also a string"""
+   In[]: ''  # empty string
   \end{lstlisting}
 \end{frame}
 
@@ -22,8 +22,8 @@
   \item Reduce the need for escaping 
   \end{itemize}
   \begin{lstlisting}
-    "Python's strings are powerful!"
-    'He said, "I love Python!"'
+   In[]: "Python's strings are powerful!"
+   In[]: 'He said, "I love Python!"'
   \end{lstlisting}
   \begin{itemize}
   \item Triple quoted strings can be multi-line
@@ -34,29 +34,29 @@
 \begin{frame}[fragile]
   \frametitle{Assignment \& Operations}
   \begin{lstlisting}
-    a = 'Hello'
-    b = 'World'
-    c = a + ', ' + b + '!'
+   In[]: a = 'Hello'
+   In[]: b = 'World'
+   In[]: c = a + ', ' + b + '!'
   \end{lstlisting}
   \begin{itemize}
   \item Strings can be multiplied with numbers
   \end{itemize}
   \begin{lstlisting}
-    a = 'Hello'
-    a * 5
+   In[]: a = 'Hello'
+   In[]: a * 5
   \end{lstlisting}
 \end{frame}
 
 \begin{frame}[fragile]
   \frametitle{Accessing Elements}
   \begin{lstlisting}
-    print a[0], a[4], a[-1], a[-4]
+   In[]: print a[0], a[4], a[-1], a[-4]
   \end{lstlisting}
   \begin{itemize}
   \item Can we change the elements?
   \end{itemize}
   \begin{lstlisting}
-    a[0] = 'H'
+   In[]: a[0] = 'H'
   \end{lstlisting}
   \begin{itemize}
   \item Strings are immutable!
@@ -84,13 +84,13 @@
 \begin{frame}[fragile]
   \frametitle{Slicing}
   \begin{lstlisting}
-    q = "Hello World"
-    q[0:3]
-    q[:3]
-    q[3:]
-    q[:]
-    q[-1:1]
-    q[1:-1]
+   In[]:  q = "Hello World"
+   In[]: q[0:3]
+   In[]: q[:3]
+   In[]: q[3:]
+   In[]: q[:]
+   In[]: q[-1:1]
+   In[]: q[1:-1]
   \end{lstlisting}
   \begin{itemize}
   \item One or both of the limits, is optional
@@ -100,22 +100,22 @@
 \begin{frame}[fragile]
   \frametitle{Striding}
   \begin{lstlisting}
-    q[0:5:1]
-    q[0:5:2]
-    q[0:5:3]
-    q[0::2]
-    q[2::2]
-    q[::2]
-    q[5:0:-1]
-    q[::-1]
+   In[]: q[0:5:1]
+   In[]: q[0:5:2]
+   In[]: q[0:5:3]
+   In[]: q[0::2]
+   In[]: q[2::2]
+   In[]: q[::2]
+   In[]: q[5:0:-1]
+   In[]: q[::-1]
   \end{lstlisting}
 \end{frame}
 
 \begin{frame}[fragile]
   \frametitle{String Methods} 
   \begin{lstlisting}
-    s.lower()
-    s.upper()
+   In[]: s.lower()
+   In[]: s.upper()
     s.<TAB>
   \end{lstlisting}
   \begin{itemize}
@@ -127,11 +127,11 @@
 \begin{frame}[fragile]
   \frametitle{Solution - Day of the Week?}
   \begin{lstlisting}
-    s.lower()[:3] in week
+   In[]: s.lower()[:3] in week
   \end{lstlisting}
   OR
   \begin{lstlisting}
-    s[:3].lower() in week
+   In[]: s[:3].lower() in week
   \end{lstlisting}
 \end{frame}
 
@@ -143,13 +143,13 @@
   \item Possibly, each string separated by a common token
   \end{itemize}
   \begin{lstlisting}
-    email_list = ["info@fossee.in", 
+  In[]:  email_list = ["info@fossee.in", 
                   "enquiries@fossee.in",
                   "help@fossee.in"]
   \end{lstlisting}
   \begin{lstlisting}
-    '; '.join(email_list)
-    ', '.join(email_list)
+  In[]:  '; '.join(email_list)
+  In[]:  ', '.join(email_list)
   \end{lstlisting}
 \end{frame}
 
@@ -158,11 +158,11 @@
 \begin{frame}[fragile]
   \frametitle{\texttt{if-else} block}
   \begin{lstlisting}
-    a = 5
-    if a % 2 == 0:
-        print "Even"
-    else:
-        print "Odd"
+  In[]:  a = 5
+  In[]:  if a % 2 == 0:
+  ....:     print "Even"
+  ....:  else:
+  ....:     print "Odd"
   \end{lstlisting}
   \begin{itemize}
   \item A code block -- \texttt{:} and indentation
@@ -174,12 +174,12 @@
 \begin{frame}[fragile]
   \frametitle{\texttt{if-elif-else}}
   \begin{lstlisting}
-    if a > 0:           
-        print "positive"
-    elif a < 0:         
-        print "negative"
-    else:               
-        print "zero"    
+   In[]: if a > 0:           
+   ....:     print "positive"
+   ....: elif a < 0:         
+   ....:     print "negative"
+   ....: else:               
+   ....:     print "zero"    
   \end{lstlisting}
   \begin{itemize}
   \item Only one block gets executed, depending on \texttt{a}
@@ -189,12 +189,12 @@
 \begin{frame}[fragile]
   \frametitle{\texttt{else} is optional}
   \begin{lstlisting}
-    if user == 'admin':         
-        admin_Operations()
-    elif user == 'moderator':   
-        moderator_operations()
-    elif user == 'client':      
-        customer_operations()
+  In[]:  if user == 'admin':         
+  ....:      admin_Operations()
+  ....:  elif user == 'moderator':   
+  ....:      moderator_operations()
+  ....:  elif user == 'client':      
+  ....:      customer_operations()
   \end{lstlisting}
   \begin{itemize}
   \item Note that there is no \texttt{else} block
@@ -211,14 +211,14 @@
   \item \texttt{if-else} construct or the ternary operator
   \end{itemize}
   \begin{lstlisting}
-    if score_str != 'AA':
-        score = int(score_str)
-    else:
-        score = 0
+   In[]: if score_str != 'AA':
+   ....:     score = int(score_str)
+   ....: else:
+   ....:     score = 0
   \end{lstlisting}
   \begin{lstlisting}
-    ss = score_str
-    score = int(ss) if ss != 'AA' else 0
+   In[]: ss = score_str
+   In[]: score = int(ss) if ss != 'AA' else 0
   \end{lstlisting}
 \end{frame}
 
@@ -242,11 +242,11 @@
     \texttt{while} 
   \end{itemize}
   \begin{lstlisting}
-    i = 1
+  In[]:  i = 1
 
-    while i<10:
-        print i*i
-        i += 2
+  In[]:  while i<10:
+  ....:      print i*i
+  ....:      i += 2
   \end{lstlisting}
   \begin{itemize}
   \item The loops runs as long as the condition is \texttt{True}
@@ -260,18 +260,18 @@
     \texttt{for}
   \end{itemize}
   \begin{lstlisting}
-    for n in [1, 2, 3]:
-        print n
+  In[]:  for n in [1, 2, 3]:
+  ....:      print n
   \end{lstlisting}
   \begin{itemize}
   \item \texttt{for} iterates over each element of a sequence
   \end{itemize}
   \begin{lstlisting}
-    for n in [1, 3, 5, 7, 9]: 
-        print n*n
+  In[]:  for n in [1, 3, 5, 7, 9]: 
+  ....:      print n*n
 
-    for n in range(1, 10, 2):
-        print n*n
+  In[]:  for n in range(1, 10, 2):
+  ....:      print n*n
   \end{lstlisting}
   \begin{itemize}
   \item \alert{range([start,] stop[, step])}
@@ -288,13 +288,13 @@
     \texttt{break}
   \end{itemize}
   \begin{lstlisting}
-    i = 1
+  In[]:  i = 1
 
-    while True:
-        print i*i
-        i += 2
-        if i>10:
-            break
+  In[]:  while True:
+  ....:      print i*i
+  ....:      i += 2
+  ....:      if i>10:
+  ....:          break
   \end{lstlisting}
 \end{frame}
 
@@ -306,10 +306,10 @@
   \item Squares of all odd numbers below 10, not multiples of 3
   \end{itemize}
   \begin{lstlisting}
-    for n in range(1, 10, 2):
-        if n%3 == 0:
-            continue      
-        print n*n
+  In[]:  for n in range(1, 10, 2):
+  ....:      if n%3 == 0:
+  ....:          continue      
+  ....:      print n*n
   \end{lstlisting}
 \end{frame}
 
@@ -319,10 +319,10 @@
 \begin{frame}[fragile]
   \frametitle{Creating Lists}
   \begin{lstlisting}
-    empty = [] 
+   In[]: empty = [] 
 
-    p = ['spam', 'eggs', 100, 1.234]
-    q = [[4, 2, 3, 4], 'and', 1, 2, 3, 4]
+   In[]: p = ['spam', 'eggs', 100, 1.234]
+   In[]: q = [[4, 2, 3, 4], 'and', 1, 2, 3, 4]
   \end{lstlisting}
   \begin{itemize}
   \item Lists can be empty, with no elements in them
@@ -333,10 +333,10 @@
 \begin{frame}[fragile]
   \frametitle{Accessing Elements}
   \begin{lstlisting}
-    print p[0], p[1], p[3]
+  In[]:  print p[0], p[1], p[3]
 
-    print p[-1], p[-2], p[-4]
-    print p[10]
+  In[]:  print p[-1], p[-2], p[-4]
+  In[]:  print p[10]
   \end{lstlisting}
   \begin{itemize}
   \item Indexing starts from 0
@@ -348,11 +348,11 @@
 \begin{frame}[fragile]
   \frametitle{Accessing Elements \& length}
   \begin{lstlisting}
-    print p[0], p[1], p[3]
+  In[]:  print p[0], p[1], p[3]
 
-    print p[-1], p[-2], p[-4]
-    print len(p)
-    print p[10]
+  In[]: print p[-1], p[-2], p[-4]
+  In[]: print len(p)
+  In[]:  print p[10]
   \end{lstlisting}
   \begin{itemize}
   \item Indexing starts from 0
@@ -368,18 +368,18 @@
   \item The append method adds elements to the end of the list
   \end{itemize}
   \begin{lstlisting}
-    p.append('onemore')
-    p
-    p.append([1, 6])
-    p
+  In[]:  p.append('onemore')
+  In[]:  p
+  In[]:  p.append([1, 6])
+  In[]: p
   \end{lstlisting}
   \begin{itemize}
   \item Elements can be removed based on their index OR
   \item based on the value of the element
   \end{itemize}
   \begin{lstlisting}
-    del p[1]
-    p.remove(100)
+   In[]: del p[1]
+   In[]: p.remove(100)
   \end{lstlisting}
   \begin{itemize}
   \item \alert{When removing by value, first element is removed}
@@ -390,68 +390,68 @@
 \begin{frame}[fragile]
   \frametitle{Concatenating lists}
   \begin{lstlisting}
-    a = [1, 2, 3, 4]
-    b = [4, 5, 6, 7]
-    a + b
-    print a+b, a, b
+  In[]:  a = [1, 2, 3, 4]
+  In[]:  b = [4, 5, 6, 7]
+  In[]:  a + b
+  In[]:  print a+b, a, b
   \end{lstlisting}
   \begin{itemize}
   \item A new list is returned; None of the original lists change
   \end{itemize}
   \begin{lstlisting}
-    c = a + b
-    c
+   In[]: c = a + b
+   In[]: c
   \end{lstlisting}
 \end{frame}
 
 \begin{frame}[fragile]
   \frametitle{Slicing \& Striding}
   \begin{lstlisting}
-    primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
-    primes[4:8]
-    primes[:4]
+  In[]:  primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
+  In[]:  primes[4:8]
+  In[]:  primes[:4]
 
-    num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
-    num[1:10:2]
-    num[:10]
-    num[10:]
-    num[::2]
-    num[::-1]
+  In[]:  num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
+  In[]:  num[1:10:2]
+  In[]:  num[:10]
+  In[]: num[10:]
+  In[]: num[::2]
+  In[]: num[::-1]
   \end{lstlisting}
 \end{frame}
 
 \begin{frame}[fragile]
   \frametitle{Sorting}
   \begin{lstlisting}
-    a = [5, 1, 6, 7, 7, 10]
-    a.sort()
-    a
+  In[]:  a = [5, 1, 6, 7, 7, 10]
+  In[]:  a.sort()
+  In[]:  a
   \end{lstlisting}
   \begin{itemize}
   \item \texttt{sort} method sorts the list in-place
   \item Use \texttt{sorted} if you require a new list
   \end{itemize}
   \begin{lstlisting}
-    a = [5, 1, 6, 7, 7, 10]
-    sorted(a)
-    a
+  In[]:  a = [5, 1, 6, 7, 7, 10]
+  In[]:  sorted(a)
+  In[]:  a
   \end{lstlisting}
 \end{frame}
 
 \begin{frame}[fragile]
   \frametitle{Reversing}
   \begin{lstlisting}
-    a = [5, 1, 6, 7, 7, 10]
-    a.reverse()
-    a
+  In[]:  a = [5, 1, 6, 7, 7, 10]
+  In[]:  a.reverse()
+  In[]:  a
   \end{lstlisting}
   \begin{itemize}
   \item \texttt{reverse} method reverses the list in-place
   \item Use \texttt{[::-1]} if you require a new list
   \end{itemize}
   \begin{lstlisting}
-    a = [5, 1, 6, 7, 7, 10]
-    a[::-1]
-    a
+  In[]:  a = [5, 1, 6, 7, 7, 10]
+  In[]:  a[::-1]
+  In[]:  a
   \end{lstlisting}
 \end{frame}
-- 
cgit 

