summaryrefslogtreecommitdiff
path: root/getting-started-with-for
diff options
context:
space:
mode:
Diffstat (limited to 'getting-started-with-for')
-rw-r--r--getting-started-with-for/script.rst31
-rw-r--r--getting-started-with-for/slides.org146
-rw-r--r--getting-started-with-for/slides.tex285
3 files changed, 457 insertions, 5 deletions
diff --git a/getting-started-with-for/script.rst b/getting-started-with-for/script.rst
index ce6e26c..9dc9db7 100644
--- a/getting-started-with-for/script.rst
+++ b/getting-started-with-for/script.rst
@@ -43,6 +43,11 @@ The best practice is to indent the code using four spaces.
for indentation. Do that while typing so that they can
actually see what is being typed.
+As you can see in the slide, ``Block B`` is an inner block and it is
+indented using 4 spaces, and after ``Block B`` the next statement in
+``Block A`` starts from the same indentation level of other ``Block
+A`` statements.
+
Now let us move straight into ``for`` loop.
{{{ switch to next slide, problem statement of exercise 1 }}}
@@ -85,6 +90,8 @@ following.
square_roots. It is only complicating stuff.
Simply iterate and print.
+{{{ switch to next slide, save and run script }}}
+
{{{ save the script }}}
Now save the script, and run it from your IPython interpreter. I
@@ -151,6 +158,8 @@ Now let us try a simple one, to print the square root of numbers in
the list. And this time let us do it right in the IPython
interpreter.
+{{{ switch to next slide, Indentation in ``ipython`` }}}
+
{{{ switch focus to the IPython interpreter }}}
So let us start with making a list. Type the following
@@ -166,11 +175,14 @@ dots. Please note that IPython automatically indents the block. The
four dots tell you that you are inside a block. Now type the rest of
the ``for`` loop,
+{{{ switch to next slide, Indentation in ``ipython`` (cont'd) }}}
+
.. #[Nishanth]: Tell that IPython does auto indentation.
::
- print "Square root of", each, "is", sqrt(each)
+ print "Square root of", each,
+ print "is", sqrt(each)
Now we have finished the statements in the block, and still the
interpreter is showing four dots, which means you are still inside the
@@ -178,6 +190,8 @@ block. To exit from the block press return key or the enter key twice
without entering anything else. It printed the square root of each
number in the list, and that is executed in a ``for`` loop.
+{{{ switch to next slide, Indentation in ``python`` interpreter }}}
+
Now, let us find the cube of all the numbers from one to ten. But this
time let us try it in the vanilla version of Python interpreter.
@@ -187,6 +201,9 @@ Start the vanilla version of Python interpreter by issuing the command
{{{ open the python interpreter in the terminal using the command
python to start the vanilla Python interpreter }}}
+{{{ switch to next slide, Indentation in ``python`` interpreter
+(cont'd) }}}
+
Start with,
::
@@ -214,6 +231,8 @@ block, hit enter once again
Then say this list can also be generated using
the range function and hence introduce range.
+{{{ switch to the next slide, ``range()`` function }}}
+
Okay! so the main thing here we learned is how to use Python
interpreter and IPython interpreter to specify blocks. But while we
were generating the multiplication table we used something new,
@@ -225,12 +244,14 @@ specify will not be included in the ``list``.
.. #[Nishanth]: Show some examples of range without the step argument
May be give an exercise with negative numbers as arguments
-Now, let us print all the odd numbers from 1 to 50. Let us do it in
-our IPython interpreter for ease of use.
-
{{{ switch to next slide, problem statement of the next problem in
solved exercises }}}
+Now, let us print all the odd numbers from 1 to 50. Pause here and try
+to solve the problem yourself.
+
+Let us do it in our IPython interpreter for ease of use.
+
{{{ switch focus to ipython interpreter }}}
The problem can be solved by just using the ``range()`` function.
@@ -248,7 +269,7 @@ the range. Note that the sequence doesn't include the ending
number. The third parameter is for stepping through the sequence. Here
we gave two which means we are skipping every alternate element.
-{{{ switch to next slide, recap slide }}}
+{{{ switch to next slide, summary slide }}}
Thus we come to the end of this tutorial. We learned about blocks in
Python, indentation, blocks in IPython, for loop, iterating over a
diff --git a/getting-started-with-for/slides.org b/getting-started-with-for/slides.org
new file mode 100644
index 0000000..51cb7ab
--- /dev/null
+++ b/getting-started-with-for/slides.org
@@ -0,0 +1,146 @@
+#+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: Getting started with for
+#+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
+ - ~for~ loop in Python.
+ - Blocks of code in Python.
+ - Indentation
+* Whitespace in Python
+ - Whitespace is significant
+ - blocks are visually separated
+ - Blocks are indented using 4 spaces
+ : Block A
+ : Block A
+ : Block B
+ : Block B
+ : Block A
+ ~Block B~ is an inner block and is indented using 4 spaces
+* Exercise 1
+ Write a ~for~ loop which iterates through a list of numbers and find
+ the square root of each number.
+ :
+ The numbers are,
+ : 1369, 7225, 3364, 7056, 5625, 729, 7056,
+ : 576, 2916
+* Solution 1
+ - Open text editor and type the following code
+ #+begin_src python
+ numbers = [1369, 7225, 3364, 7056, 5625, 729, 7056,
+ 576, 2916]
+
+ for each in numbers:
+ print "Square root of", each, "is", sqrt(each)
+
+ print "This is not in for loop!"
+ #+end_src
+* Save \& run script
+ - Save the script as ~list_roots.py~
+ - Run in ~ipython~ interpreter as,
+ : In []: %run -i list_roots.py
+* Exercise 2
+ From the given numbers make a list of perfect squares and a list of those which are not.
+ :
+ The numbers are,
+ : 7225, 3268, 3364, 2966, 7056, 5625, 729, 5547,
+ : 7056, 576, 2916
+* Exercise 3 (indentation in ~ipython~)
+ Print the square root of numbers in the list.
+ :
+ Numbers are,
+ : 7225, 3268, 3364, 2966, 7056, 5625, 729, 5547,
+ : 7056, 576, 2916
+* Indentation in ~ipython~
+ : In []: numbers = [1369, 7225, 3364, 7056, 5625,
+ : ...: 729, 7056, 576, 2916]
+
+ : In []: for each in numbers:
+ : ...:
+ Note the four spaces here
+ :
+ :
+ :
+ :
+ :
+ :
+* Indentation in ~ipython~ (cont'd)
+ : In []: numbers = [1369, 7225, 3364, 7056, 5625,
+ : ...: 729, 7056, 576, 2916]
+ : In []: for each in numbers:
+ : ...:
+ Note the four spaces here
+ :
+ Now type the rest of the code
+ : ...: print "Square root of", each,
+ : ...: print "is", sqrt(each)
+ : ...:
+ : ...:
+* Indentation in ~python~ interpreter
+ Find out the cube of all the numbers from 1 to 10.
+ :
+ /do it in the python interpreter/
+* Indentation in ~python~ interpreter (cont'd)
+ #+begin_src python
+ >>> for i in range(1, 11):
+ ... print i, "cube is", i**3
+ ...
+ #+end_src
+* ~range()~ function
+ - in built function in Python
+ - generates a list of integers
+ - /syntax:/ range([start,] stop[, step])
+ - /example:/
+ - range(1, 20) - /generates integers from 1 to 20/
+ - range(20) - /generates integers from 0 to 20/
+* Exercise 4
+ Print all the odd numbers from 1 to 50.
+* Summary
+ - blocks in ~python~
+ - indentation
+ - blocks in ~ipython~ interpreter
+ - ~for~ loop
+ - iterating over list using ~for~ loop
+ - ~range()~ function
+* 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/getting-started-with-for/slides.tex b/getting-started-with-for/slides.tex
new file mode 100644
index 0000000..f6c1eaa
--- /dev/null
+++ b/getting-started-with-for/slides.tex
@@ -0,0 +1,285 @@
+% Created 2010-10-12 Tue 12:55
+\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{Getting started with for}
+\author{FOSSEE}
+\date{}
+
+\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
+\begin{document}
+
+\maketitle
+
+
+
+
+
+
+
+
+
+\begin{frame}
+\frametitle{Outline}
+\label{sec-1}
+
+\begin{itemize}
+\item \texttt{for} loop in Python.
+\item Blocks of code in Python.
+
+\begin{itemize}
+\item Indentation
+\end{itemize}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Whitespace in Python}
+\label{sec-2}
+
+\begin{itemize}
+\item Whitespace is significant
+
+\begin{itemize}
+\item blocks are visually separated
+\end{itemize}
+
+\item Blocks are indented using 4 spaces
+\begin{verbatim}
+ Block A
+ Block A
+ Block B
+ Block B
+ Block A
+\end{verbatim}
+
+ \texttt{Block B} is an inner block and is indented using 4 spaces
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Exercise 1}
+\label{sec-3}
+
+ Write a \texttt{for} loop which iterates through a list of numbers and find
+ the square root of each number.
+\begin{verbatim}
+
+\end{verbatim}
+
+ The numbers are,
+\begin{verbatim}
+ 1369, 7225, 3364, 7056, 5625, 729, 7056,
+ 576, 2916
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solution 1}
+\label{sec-4}
+
+\begin{itemize}
+\item Open text editor and type the following code
+\end{itemize}
+
+\begin{verbatim}
+numbers = [1369, 7225, 3364, 7056, 5625, 729, 7056,
+ 576, 2916]
+
+for each in numbers:
+ print "Square root of", each, "is", sqrt(each)
+
+print "This is not in for loop!"
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Save \& run script}
+\label{sec-5}
+
+\begin{itemize}
+\item Save the script as \texttt{list\_roots.py}
+\item Run in \texttt{ipython} interpreter as,
+\begin{verbatim}
+ In []: %run -i list_roots.py
+\end{verbatim}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Exercise 2}
+\label{sec-6}
+
+ From the given numbers make a list of perfect squares and a list of those which are not.
+\begin{verbatim}
+
+\end{verbatim}
+
+ The numbers are,
+\begin{verbatim}
+ 7225, 3268, 3364, 2966, 7056, 5625, 729, 5547,
+ 7056, 576, 2916
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Exercise 3 (indentation in \texttt{ipython})}
+\label{sec-7}
+
+ Print the square root of numbers in the list.
+\begin{verbatim}
+
+\end{verbatim}
+
+ Numbers are,
+\begin{verbatim}
+ 7225, 3268, 3364, 2966, 7056, 5625, 729, 5547,
+ 7056, 576, 2916
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Indentation in \texttt{ipython}}
+\label{sec-8}
+
+\begin{verbatim}
+ In []: numbers = [1369, 7225, 3364, 7056, 5625,
+ ...: 729, 7056, 576, 2916]
+\end{verbatim}
+
+
+\begin{verbatim}
+ In []: for each in numbers:
+ ...:
+\end{verbatim}
+
+ Note the four spaces here
+\begin{verbatim}
+
+
+
+
+
+
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Indentation in \texttt{ipython} (cont'd)}
+\label{sec-9}
+
+\begin{verbatim}
+ In []: numbers = [1369, 7225, 3364, 7056, 5625,
+ ...: 729, 7056, 576, 2916]
+ In []: for each in numbers:
+ ...:
+\end{verbatim}
+
+ Note the four spaces here
+\begin{verbatim}
+
+\end{verbatim}
+
+ Now type the rest of the code
+\begin{verbatim}
+ ...: print "Square root of", each,
+ ...: print "is", sqrt(each)
+ ...:
+ ...:
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Indentation in \texttt{python} interpreter}
+\label{sec-10}
+
+ Find out the cube of all the numbers from 1 to 10.
+\begin{verbatim}
+
+\end{verbatim}
+
+ \emph{do it in the python interpreter}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Indentation in \texttt{python} interpreter (cont'd)}
+\label{sec-11}
+
+\begin{verbatim}
+>>> for i in range(1, 11):
+... print i, "cube is", i**3
+...
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{\texttt{range()} function}
+\label{sec-12}
+
+\begin{itemize}
+\item in built function in Python
+\item generates a list of integers
+
+\begin{itemize}
+\item \emph{syntax:} range([start,] stop[, step])
+\item \emph{example:}
+
+\begin{itemize}
+\item range(1, 20) - \emph{generates integers from 1 to 20}
+\item range(20) - \emph{generates integers from 0 to 20}
+\end{itemize}
+
+\end{itemize}
+
+\end{itemize}
+\end{frame}
+\begin{frame}
+\frametitle{Exercise 4}
+\label{sec-13}
+
+ Print all the odd numbers from 1 to 50.
+\end{frame}
+\begin{frame}
+\frametitle{Summary}
+\label{sec-14}
+
+\begin{itemize}
+\item blocks in \texttt{python}
+\item indentation
+\item blocks in \texttt{ipython} interpreter
+\item \texttt{for} loop
+\item iterating over list using \texttt{for} loop
+\item \texttt{range()} function
+\end{itemize}
+\end{frame}
+\begin{frame}
+\frametitle{Thank you!}
+\label{sec-15}
+
+ \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}