summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrabhu Ramachandran2015-01-29 20:12:27 +0530
committerPrabhu Ramachandran2015-01-29 20:12:27 +0530
commit18b161574b01315974641a113e09f321ba5c78cd (patch)
tree7b1bc5615096db5ccea5630381395631f0898d20
parentf072720fbe55d3b04bd53d7f5400e4c967258371 (diff)
downloadsees-18b161574b01315974641a113e09f321ba5c78cd.tar.gz
sees-18b161574b01315974641a113e09f321ba5c78cd.tar.bz2
sees-18b161574b01315974641a113e09f321ba5c78cd.zip
Misc. fixes to slides, mostly whitespace.
-rw-r--r--slides/basic_python/func.tex162
-rw-r--r--slides/basic_python/io_files_parsing.tex69
-rw-r--r--slides/basic_python/strings_loops_lists.tex148
-rw-r--r--slides/basic_python/tuples_dicts_sets.tex78
4 files changed, 232 insertions, 225 deletions
diff --git a/slides/basic_python/func.tex b/slides/basic_python/func.tex
index b66be06..2d9a346 100644
--- a/slides/basic_python/func.tex
+++ b/slides/basic_python/func.tex
@@ -39,11 +39,11 @@
\begin{frame}[fragile]
\frametitle{Defining functions \ldots}
\begin{lstlisting}
- In[]: def greet():
- ....: print "Hello World!"
+ In[]: def greet():
+ ....: print "Hello World!"
....:
- In[]: greet()
+ In[]: greet()
\end{lstlisting}
\begin{itemize}
\item \texttt{greet} is a function that takes no arguments
@@ -51,11 +51,11 @@
\item But implicitly, Python returns \texttt{None}
\end{itemize}
\begin{lstlisting}
- In[]: def avg(a, b):
- ....: return (a + b)/2
+ In[]: def avg(a, b):
+ ....: return (a + b)/2
....:
- In[]: avg(12, 10)
+ In[]: avg(12, 10)
\end{lstlisting}
\end{frame}
@@ -66,15 +66,15 @@
\item We write a doc-string along with the function definition
\end{itemize}
\begin{lstlisting}
- In[]: def avg(a, b):
- """ avg takes two numbers as input
- and returns their average"""
+ In[]: def avg(a, b):
+ """ avg takes two numbers as input
+ and returns their average"""
- ....: return (a + b)/2
+ ....: return (a + b)/2
....:
- In[]: avg?
- In[]: greet?
+ In[]: avg?
+ In[]: greet?
\end{lstlisting}
\end{frame}
@@ -85,20 +85,20 @@
\item Function needs to return two values
\end{itemize}
\begin{lstlisting}
- In[]: def circle(r):
- """returns area and perimeter of a
- circle given, the radius r"""
-
- ....: pi = 3.14
- ....: area = pi * r * r
- ....: perimeter = 2 * pi * r
- ....: return area, perimeter
+ In[]: def circle(r):
+ """returns area and perimeter of a
+ circle given, the radius r"""
+
+ ....: pi = 3.14
+ ....: area = pi * r * r
+ ....: perimeter = 2 * pi * r
+ ....: return area, perimeter
....:
- In[]: circle(4)
- In[]: a, p = circle(6)
- In[]: print a
- In[]: print p
+ In[]: circle(4)
+ In[]: a, p = circle(6)
+ In[]: print a
+ In[]: print p
\end{lstlisting}
\begin{itemize}
\item Any number of values can be returned
@@ -108,13 +108,13 @@
\begin{frame}[fragile]
\frametitle{What? -- 1}
\begin{lstlisting}
- In[]: def what( n ):
- ....: if n < 0: n = -n
- ....: while n > 0:
- ....: if n % 2 == 1:
- ....: return False
- ....: n /= 10
- ....: return True
+ In[]: def what( n ):
+ ....: if n < 0: n = -n
+ ....: while n > 0:
+ ....: if n % 2 == 1:
+ ....: return False
+ ....: n /= 10
+ ....: return True
....:
\end{lstlisting}
\end{frame}
@@ -122,11 +122,11 @@
\begin{frame}[fragile]
\frametitle{What? -- 2}
\begin{lstlisting}
- In[]: def what( n ):
- ....: i = 1
- ....: while i * i < n:
- ....: i += 1
- ....: return i * i == n, i
+ In[]: def what( n ):
+ ....: i = 1
+ ....: while i * i < n:
+ ....: i += 1
+ ....: return i * i == n, i
....:
\end{lstlisting}
\end{frame}
@@ -139,8 +139,8 @@
In[]: round(2.484)
In[]: round(2.484, 2)
- In[]: s.split() # split on spaces
- In[]: s.split(';') # split on ';'
+ In[]: s.split() # split on spaces
+ In[]: s.split(';') # split on ';'
In[]: range(10) # returns numbers from 0 to 9
In[]: range(1, 10) # returns numbers from 1 to 9
@@ -151,8 +151,8 @@
\begin{frame}[fragile]
\frametitle{Default arguments \ldots}
\begin{lstlisting}
- In[]: def welcome(greet, name="World"):
- ....: print greet, name
+ In[]: def welcome(greet, name="World"):
+ ....: print greet, name
....:
In[]: welcome("Hi", "Guido")
@@ -163,8 +163,8 @@
\item The following definition is \alert{WRONG}
\end{itemize}
\begin{lstlisting}
- In[]: def welcome(name="World", greet):
- ....: print greet, name
+ In[]: def welcome(name="World", greet):
+ ....: print greet, name
....:
\end{lstlisting}
\end{frame}
@@ -172,17 +172,17 @@
\begin{frame}[fragile]
\frametitle{Keyword Arguments}
\begin{lstlisting}
- In[]: def welcome(greet, name="World"):
- ....: print greet, name
+ In[]: def welcome(greet, name="World"):
+ ....: print greet, name
....:
- In[]: welcome("Hello", "James")
+ In[]: welcome("Hello", "James")
In[]: welcome("Hi", name="Guido")
In[]: welcome(name="Guido", greet="Hey")
- In[]: welcome(name="Guido", "Hey")
+ In[]: welcome(name="Guido", "Hey")
\end{lstlisting}
\end{frame}
@@ -207,33 +207,21 @@
....: print q
....:
- In[]: change(1)
- In[]: print q
+ In[]: change(1)
+ In[]: print q
\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
\frametitle{Variables inside function are local}
\begin{lstlisting}
- In[]: n = 5
- In[]: def change():
- ....: n = 10
- ....: print n
+ In[]: n = 5
+ In[]: def change():
+ ....: n = 10
+ ....: print n
....:
- In[]: change()
- In[]: print n
- \end{lstlisting}
- \begin{itemize}
- \item Use the \texttt{global} statement to assign to global variables
- \end{itemize}
- \begin{lstlisting}
- In[]: def change():
- ....: global n
- ....: n = 10
- ....: print n
- ....:
- In[]: change()
- In[]: print n
+ In[]: change()
+ In[]: print n
\end{lstlisting}
\end{frame}
@@ -243,13 +231,13 @@
\item Use the \texttt{global} statement to assign to global variables
\end{itemize}
\begin{lstlisting}
- In[]: def change():
- ....: global n
- ....: n = 10
- ....: print n
+ In[]: def change():
+ ....: global n
+ ....: n = 10
+ ....: print n
....:
- In[]: change()
- In[]: print n
+ In[]: change()
+ In[]: print n
\end{lstlisting}
\end{frame}
@@ -261,9 +249,9 @@
until the name is found
\end{itemize}
\begin{lstlisting}
- In[]: name = ['Mr.', 'Steve', 'Gosling']
- In[]: def change_name():
- ....: name[0] = 'Dr.'
+ In[]: name = ['Mr.', 'Steve', 'Gosling']
+ In[]: def change_name():
+ ....: name[0] = 'Dr.'
....:
In[]: change_name()
In[]: print name
@@ -273,22 +261,22 @@
\begin{frame}[fragile]
\frametitle{Passing Arguments \ldots}
\begin{lstlisting}
- In[]: n = 5
- In[]: def change(n):
- ....: n = 10
- ....: print "n = %s inside change " %n
+ In[]: n = 5
+ In[]: def change(n):
+ ....: n = 10
+ ....: print "n = %s inside change " %n
....:
- In[]: change(n)
- In[]: print n
+ In[]: change(n)
+ In[]: print n
\end{lstlisting}
\begin{lstlisting}
- In[]: name = ['Mr.', 'Steve', 'Gosling']
- In[]: def change_name(n):
- ....: n[0] = 'Dr.'
- ....: print "n = %s inside change_name" %n
+ In[]: name = ['Mr.', 'Steve', 'Gosling']
+ In[]: def change_name(n):
+ ....: n[0] = 'Dr.'
+ ....: print "n = %s inside change_name" %n
....:
- In[]: change_name(name)
- In[]: print name
+ In[]: change_name(name)
+ In[]: print name
\end{lstlisting}
\end{frame}
diff --git a/slides/basic_python/io_files_parsing.tex b/slides/basic_python/io_files_parsing.tex
index cb46cbe..f766f1c 100644
--- a/slides/basic_python/io_files_parsing.tex
+++ b/slides/basic_python/io_files_parsing.tex
@@ -3,9 +3,9 @@
\begin{frame}[fragile]
\frametitle{Printing}
\begin{lstlisting}
- In[]: a = "This is a string"
- In[]: a
- In[]: print a
+ In[]: a = "This is a string"
+ In[]: a
+ In[]: print a
\end{lstlisting}
\begin{itemize}
\item Both \texttt{a}, and \texttt{print a} are showing the value
@@ -15,19 +15,20 @@
\item In a script, it has no effect.
\end{itemize}
\begin{lstlisting}
- In[]: b = "A line \n New line"
- In[]: b
- In[]: print b
+ In[]: b = "A line \n New line"
+ In[]: b
+ In[]: print b
\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
\frametitle{String formatting}
+ \small
\begin{lstlisting}
In[]: x = 1.5
- In[]: y = 2
- In[]: z = "zed"
- In[]: print "x is %2.1f y is %d z is %s" %(x, y, z)
+ In[]: y = 2
+ In[]: z = "zed"
+ In[]: print "x is %2.1f y is %d z is %s" %(x, y, z)
\end{lstlisting}
\end{frame}
@@ -42,7 +43,7 @@
In[]: print "Hello"
In[]: print "World"
- In[]: print "Hello",
+ In[]: print "Hello",
In[]: print "World"
\end{lstlisting}
\begin{itemize}
@@ -55,7 +56,7 @@
\begin{frame}[fragile]
\frametitle{\texttt{raw\_input}}
\begin{lstlisting}
- In[]: ip = raw_input()
+ In[]: ip = raw_input()
\end{lstlisting}
\begin{itemize}
\item The cursor is blinking; waiting for input
@@ -69,17 +70,17 @@
\begin{frame}[fragile]
\frametitle{\texttt{raw\_input} \ldots}
\begin{lstlisting}
- In[]: c = raw_input()
- In[]: 5.6
+ In[]: c = raw_input()
+ 5.6
In[]: c
- In[]: type(c)
+ In[]: type(c)
\end{lstlisting}
\begin{itemize}
\item \alert{\texttt{raw\_input} always takes a string}
\end{itemize}
\begin{lstlisting}
- In[]: name = raw_input("Please enter your name: ")
- George
+ In[]: name = raw_input("Enter your name: ")
+ Enter your name: George
\end{lstlisting}
\begin{itemize}
\item \texttt{raw\_input} can display a prompt string for the user
@@ -126,7 +127,7 @@
\item Close the file, when done; Also, if you want to read again
\end{itemize}
\begin{lstlisting}
- In[]: f.close()
+ In[]: f.close()
In[]: f
\end{lstlisting}
\end{frame}
@@ -157,7 +158,7 @@
\end{lstlisting}
\begin{itemize}
\item File with records like the one above is given
- \item Each record has fields separated by ;
+ \item Each record has fields separated by \verb+;+
\item region code; roll number; name;
\item marks --- $1^{st}$ L; $2^{nd}$ L; math; science; social; total
\item pass/fail indicated by P/F; W if withheld and else empty
@@ -171,8 +172,8 @@
\begin{frame}[fragile]
\frametitle{Tokenization}
\begin{lstlisting}
- In[]: line = "parse this string"
- In[]: line.split()
+ In[]: line = "parse this string"
+ In[]: line.split()
\end{lstlisting}
\begin{itemize}
\item Original string is split on white-space (if no argument)
@@ -180,7 +181,7 @@
\item It can be given an argument to split on that argrument
\end{itemize}
\begin{lstlisting}
- In[]: record = "A;015163;JOSEPH RAJ S;083;042;47;AA;72;244;;;"
+ In[]: record = "A;015163;JOSEPH RAJ S;083;042;47;AA;72;244;;;"
In[]: record.split(';')
\end{lstlisting}
\end{frame}
@@ -207,9 +208,9 @@
\item We need numbers to perform math operations
\end{itemize}
\begin{lstlisting}
- In[]: mark_str = "1.25"
- In[]: mark = int(mark_str)
- In[]: type(mark_str)
+ In[]: mark_str = "1.25"
+ In[]: mark = int(mark_str)
+ In[]: type(mark_str)
In[]: type(mark)
\end{lstlisting}
\begin{itemize}
@@ -220,20 +221,20 @@
\begin{frame}[fragile]
\frametitle{File parsing -- Solution}
\begin{lstlisting}
- In[]: math_B = [] # empty list to store marks
+ In[]: math_B = [] # empty list to store marks
In[]: for line in open("sslc1.txt"):
- ....: fields = line.split(";")
+ ....: fields = line.split(";")
- ....: reg_code = fields[0]
- ....: reg_code_clean = reg_code.strip()
+ ....: reg_code = fields[0]
+ ....: reg_code_clean = reg_code.strip()
- ....: math_mark_str = fields[5]
- ....: math_mark = float(math_mark_str)
+ ....: math_mark_str = fields[5]
+ ....: math_mark = float(math_mark_str)
- ....: if reg_code == "B":
- ....: math_B.append(math_mark)
+ ....: if reg_code == "B":
+ ....: math_B.append(math_mark)
- In[]: math_B_mean = sum(math_B) / len(math_B)
- In[]: math_B_mean
+ In[]: math_B_mean = sum(math_B) / len(math_B)
+ In[]: math_B_mean
\end{lstlisting}
\end{frame}
diff --git a/slides/basic_python/strings_loops_lists.tex b/slides/basic_python/strings_loops_lists.tex
index 1b514a6..1e5d05f 100644
--- a/slides/basic_python/strings_loops_lists.tex
+++ b/slides/basic_python/strings_loops_lists.tex
@@ -72,7 +72,7 @@
Given a list, \texttt{week}, containing names of the days of the
week and a string \texttt{s}, check if the string is a day of the
week. We should be able to check for any of the forms like,
- \emph{sat, saturday, Sat, Saturday, SAT, SATURDAY}
+ \emph{sat, Sat, SAT}
\end{block}
\begin{itemize}
\item Get the first 3 characters of the string
@@ -143,13 +143,13 @@
\item Possibly, each string separated by a common token
\end{itemize}
\begin{lstlisting}
- In[]: email_list = ["info@fossee.in",
+ In[]: email_list = ["info@fossee.in",
"enquiries@fossee.in",
"help@fossee.in"]
\end{lstlisting}
\begin{lstlisting}
- In[]: '; '.join(email_list)
- In[]: ', '.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}
- In[]: a = 5
- In[]: 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
@@ -189,12 +189,12 @@
\begin{frame}[fragile]
\frametitle{\texttt{else} is optional}
\begin{lstlisting}
- In[]: 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
@@ -242,11 +242,11 @@
\texttt{while}
\end{itemize}
\begin{lstlisting}
- In[]: i = 1
+ In[]: i = 1
- In[]: 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}
- In[]: 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}
- In[]: for n in [1, 3, 5, 7, 9]:
- ....: print n*n
+ In[]: for n in [1, 3, 5, 7, 9]:
+ ....: print n*n
- In[]: 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}
- In[]: i = 1
+ In[]: i = 1
- In[]: 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,13 +306,31 @@
\item Squares of all odd numbers below 10, not multiples of 3
\end{itemize}
\begin{lstlisting}
- In[]: 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}
+\begin{frame}[fragile]
+ \frametitle{Problem - Day of the Week?}
+ \begin{itemize}
+ \item Strings have methods to manipulate them
+ \end{itemize}
+ \begin{block}{Problem}
+ Given a list, \texttt{week}, containing names of the days of the
+ week and a string \texttt{s}, check if the string is a day of the
+ week. We should be able to check for any of the forms like,
+ \emph{sat, saturday, Sat, Saturday, SAT, SATURDAY}
+ \end{block}
+ \begin{itemize}
+ \item Get the first 3 characters of the string
+ \item Convert it all to lower case
+ \item Check for existence in the list, \texttt{week}
+ \end{itemize}
+\end{frame}
+
\section{Lists}
@@ -333,10 +351,10 @@
\begin{frame}[fragile]
\frametitle{Accessing Elements}
\begin{lstlisting}
- In[]: print p[0], p[1], p[3]
+ In[]: print p[0], p[1], p[3]
- In[]: print p[-1], p[-2], p[-4]
- In[]: 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 +366,11 @@
\begin{frame}[fragile]
\frametitle{Accessing Elements \& length}
\begin{lstlisting}
- In[]: print p[0], p[1], p[3]
+ In[]: print p[0], p[1], p[3]
In[]: print p[-1], p[-2], p[-4]
In[]: print len(p)
- In[]: print p[10]
+ In[]: print p[10]
\end{lstlisting}
\begin{itemize}
\item Indexing starts from 0
@@ -368,9 +386,9 @@
\item The append method adds elements to the end of the list
\end{itemize}
\begin{lstlisting}
- In[]: p.append('onemore')
- In[]: p
- In[]: p.append([1, 6])
+ In[]: p.append('onemore')
+ In[]: p
+ In[]: p.append([1, 6])
In[]: p
\end{lstlisting}
\begin{itemize}
@@ -390,10 +408,10 @@
\begin{frame}[fragile]
\frametitle{Concatenating lists}
\begin{lstlisting}
- In[]: a = [1, 2, 3, 4]
- In[]: b = [4, 5, 6, 7]
- In[]: a + b
- In[]: 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
@@ -407,13 +425,13 @@
\begin{frame}[fragile]
\frametitle{Slicing \& Striding}
\begin{lstlisting}
- In[]: primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
- In[]: primes[4:8]
- In[]: primes[:4]
+ In[]: primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
+ In[]: primes[4:8]
+ In[]: primes[:4]
- 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 = [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]
@@ -423,35 +441,35 @@
\begin{frame}[fragile]
\frametitle{Sorting}
\begin{lstlisting}
- In[]: a = [5, 1, 6, 7, 7, 10]
- In[]: a.sort()
- In[]: 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}
- In[]: a = [5, 1, 6, 7, 7, 10]
- In[]: sorted(a)
- In[]: 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}
- In[]: a = [5, 1, 6, 7, 7, 10]
- In[]: a.reverse()
- In[]: 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}
- In[]: a = [5, 1, 6, 7, 7, 10]
- In[]: a[::-1]
- In[]: a
+ In[]: a = [5, 1, 6, 7, 7, 10]
+ In[]: a[::-1]
+ In[]: a
\end{lstlisting}
\end{frame}
diff --git a/slides/basic_python/tuples_dicts_sets.tex b/slides/basic_python/tuples_dicts_sets.tex
index b09fd99..832a36c 100644
--- a/slides/basic_python/tuples_dicts_sets.tex
+++ b/slides/basic_python/tuples_dicts_sets.tex
@@ -3,15 +3,15 @@
\begin{frame}[fragile]
\frametitle{Tuples -- Initialization}
\begin{lstlisting}
- In[]: t = (1, 2.5, "hello", -4, "world", 1.24, 5)
- In[]: t
+ In[]: t = (1, 2.5, "hello", -4, "world", 1.24, 5)
+ In[]: t
\end{lstlisting}
\begin{itemize}
\item It is not always necessary to use parenthesis
\end{itemize}
\begin{lstlisting}
- In[]: a = 1, 2, 3
- In[]: b = 1,
+ In[]: a = 1, 2, 3
+ In[]: b = 1,
\end{lstlisting}
\end{frame}
@@ -30,26 +30,26 @@
\begin{frame}[fragile]
\frametitle{Swapping values}
\begin{lstlisting}
- In[]: a = 5
- In[]: b = 7
+ In[]: a = 5
+ In[]: b = 7
- In[]: temp = a
- In[]: a = b
- In[]: b = temp
+ In[]: temp = a
+ In[]: a = b
+ In[]: b = temp
\end{lstlisting}
\begin{itemize}
\item Here's the Pythonic way of doing it
\end{itemize}
\begin{lstlisting}
- In[]: a, b = b, a
+ In[]: a, b = b, a
\end{lstlisting}
\begin{itemize}
\item The variables can be of different data-types
\end{itemize}
\begin{lstlisting}
- In[]: a = 2.5
- In[]: b = "hello"
- In[]: a, b = b, a
+ In[]: a = 2.5
+ In[]: b = "hello"
+ In[]: a, b = b, a
\end{lstlisting}
\end{frame}
@@ -64,7 +64,7 @@
\item Tuple packing and unpacking, when swapping
\end{itemize}
\begin{lstlisting}
- In[]: a, b = b, a
+ In[]: a, b = b, a
\end{lstlisting}
\end{frame}
@@ -73,14 +73,14 @@
\begin{frame}[fragile]
\frametitle{Creating Dictionaries}
\begin{lstlisting}
- In[]: mt_dict = {}
+ In[]: mt_dict = {}
- In[]: extensions = {'jpg' : 'JPEG Image',
+ In[]: extensions = {'jpg' : 'JPEG Image',
'py' : 'Python script',
'html' : 'Html document',
'pdf' : 'Portable Document Format'}
- In[]: extensions
+ In[]: extensions
\end{lstlisting}
\begin{itemize}
\item Key-Value pairs
@@ -91,13 +91,13 @@
\begin{frame}[fragile]
\frametitle{Accessing Elements}
\begin{lstlisting}
- In[]: print extensions['jpg']
+ In[]: print extensions['jpg']
\end{lstlisting}
\begin{itemize}
\item Values can be accessed using keys
\end{itemize}
\begin{lstlisting}
- In[]: print extensions['zip']
+ In[]: print extensions['zip']
\end{lstlisting}
\begin{itemize}
\item Values of non-existent keys cannot, obviously, be accessed
@@ -163,9 +163,9 @@
\begin{frame}[fragile]
\frametitle{Creating Sets}
\begin{lstlisting}
- In[]: a_list = [1, 2, 1, 4, 5, 6, 2]
- In[]: a = set(a_list)
- In[]: a
+ In[]: a_list = [1, 2, 1, 4, 5, 6, 2]
+ In[]: a = set(a_list)
+ In[]: a
\end{lstlisting}
\begin{itemize}
\item Conceptually identical to the sets in mathematics
@@ -177,8 +177,8 @@
\begin{frame}[fragile]
\frametitle{Operations on Sets}
\begin{lstlisting}
- In[]: f10 = set([1, 2, 3, 5, 8])
- In[]: p10 = set([2, 3, 5, 7])
+ In[]: f10 = set([1, 2, 3, 5, 8])
+ In[]: p10 = set([2, 3, 5, 7])
\end{lstlisting}
\begin{itemize}
\item Mathematical operations performed on sets, can be performed
@@ -186,19 +186,19 @@
\begin{itemize}
\item Union
\begin{lstlisting}
- In[]: f10 | p10
+ In[]: f10 | p10
\end{lstlisting}
\item Intersection
\begin{lstlisting}
- In[]: f10 & p10
+ In[]: f10 & p10
\end{lstlisting}
\item Difference
\begin{lstlisting}
- In[]: f10 - p10
+ In[]: f10 - p10
\end{lstlisting}
\item Symmetric Difference
\begin{lstlisting}
- In[]: f10 ^ p10
+ In[]: f10 ^ p10
\end{lstlisting}
\end{itemize}
\end{frame}
@@ -208,12 +208,12 @@
\begin{itemize}
\item Proper Subset
\begin{lstlisting}
- In[]: b = set([1, 2])
- In[]: b < f10
+ In[]: b = set([1, 2])
+ In[]: b < f10
\end{lstlisting}
\item Subsets
\begin{lstlisting}
- In[]: f10 <= f10
+ In[]: f10 <= f10
\end{lstlisting}
\end{itemize}
\end{frame}
@@ -223,18 +223,18 @@
\begin{itemize}
\item Containership
\begin{lstlisting}
- In[]: 1 in f10
- In[]: 4 in f10
+ In[]: 1 in f10
+ In[]: 4 in f10
\end{lstlisting}
\item Iterating over elements
\begin{lstlisting}
- In[]: for i in f10:
+ In[]: for i in f10:
....: print i,
....:
\end{lstlisting}
\item Subsets
\begin{lstlisting}
- In[]: f10 <= f10
+ In[]: f10 <= f10
\end{lstlisting}
\end{itemize}
\end{frame}
@@ -246,13 +246,13 @@
all the duplicates
\end{block}
\begin{lstlisting}
- In[]: marks = [20, 23, 22, 23, 20, 21, 23]
- In[]: marks_set = set(marks)
- In[]: for mark in marks_set:
+ In[]: marks = [20, 23, 22, 23, 20, 21, 23]
+ In[]: marks_set = set(marks)
+ In[]: for mark in marks_set:
....: marks.remove(mark)
# left with only duplicates
- In[]: duplicates = set(marks)
+ In[]: duplicates = set(marks)
\end{lstlisting}
\end{frame}