getting_started_with_for/slides.org
author Puneeth Chaganti <punchagan@fossee.in>
Wed, 01 Dec 2010 16:51:35 +0530
changeset 522 d33698326409
permissions -rw-r--r--
Renamed all LOs to match with their names in progress.org.

#+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