% 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}