Python-3.4.3/C2/Getting-started-with-for/English

From Script | Spoken-Tutorial
Revision as of 15:34, 15 November 2017 by Trupti (Talk | contribs)

Jump to: navigation, search

Title of script: Getting started with for loops

Author: Trupti, Thirumalesh H S

Keywords:Python, IPython, for loop, blocks, indent, iterate, loop

Visual Cue
Narration
Show Slide Hello Friends. Welcome to the tutorial on "Getting started with for loops".
Show Slide

Objectives

At the end of this tutorial, you will be able to,
  1. Use the for loop.
  2. Use range() function.
Show slide

System Specifications

To record this tutorial, I am using,
  • Ubuntu Linux 14.04 operating system
  • Python 3.4.3
  • IPython 5.1.0
Show Slide:

Pre-requisite

If not, see the relavant Python tutorials on http://spoken-tutorial.org

To practice this tutorial, you should know how to use lists.

If not, see the relevant Python tutorials on this website.

First let us see the syntax of for loop.
Show slide

Syntax: For

for <loop variable> in sequence:

   <statement 1>
   <statement 2> 
   ...
   <statement n>

Highlight according to narration

for statement iterates over the members of a sequence in order executing the block each time.

Here the loop variable takes the value of the item inside the sequence on each iteration.

For each item, the loop body is executed.

We will see an example of ‘For’ loop and how to execute it.
[Terminal]

ipython3

Let us first open the Terminal by pressing Ctrl+Alt+T keys simultaneously.

Now, type ipython3 and press Enter.

[IPython console]

%pylab and press Enter.

Let us initialise the pylab package.

Type %pylab and press Enter.

Open your text editor. Open your text editor.
Highlight according to narration Let us write a for loop. Type the code as shown here:
numbers = [4, 9, 16, 25, 36]

for num in numbers:

   print(“sqrt of”, num, “is”, num**0.5)

print("This is outside for-loop")

Here the loop variable iterates over a list of numbers and finds the square root of each number.

The numbers are: 4, 9, 16, 25, and 36

Note that here we used two variables,

  • numbers - which is a list of numbers
  • num - which is the element of list under consideration in each cycle of the for loop.

The variable names can be any of your choice.

Highlight the line after for statement Note that a colon after the for statement indicates the starting of loop body.

Every statement in loop starts with 4 spaces

Highlight the line after for statement It means that, the line is a block of code in for loop.

In this example, it is only a single statement in the block.

Highlight the fifth line -

print("This is outside for-loop")

Note that the line print("This is outside for-loop") is not indented.

It means that it is not a part of the for loop.

And the lines after that don't fall in the scope of the for loop.

Highlight indentation Thus each block is separated by the indentation level.

This marks the importance of white-spaces in Python.

Save the file as sqrt_num_list.py Save the file as sqrt_num_list.py in the home directory.
switch back to your terminal. Clear the terminal Now switch back to your terminal.

Let us clear the terminal.

[Ipython Terminal]

Save & run script

Highlight the output

%run -i sqrt_num_list.py

sqrt of 4 is 2.0

sqrt of 9 is 3.0

sqrt of 16 is 4.0

sqrt of 25 is 5.0

sqrt of 36 is 6.0

This is outside for-loop

Run the script using the run command as,

percent run minus i filename and press Enter.

We get the square root of the given numbers executed by the for loop.

This is the print statement output executed after the for loop.

Show Slide

Exercise 1

  • Use the same example we used in sqrt_num_list.py
  • Type each line of the code in the IPython interpreter prompt.
  • Skip the line: print("This is outside for-loop")
[Ipython Terminal]

numbers = [4, 9, 16, 25, 36]

for num in numbers: Press Enter

Switch to the terminal.

Type,

numbers equal to inside square brackets 4, 9, 16, 25, 36

for num in numbers colon Press Enter

Highlight the dots You will notice that, the prompt changes to three dots.

And the cursor is not right after the three dots but, there are four spaces from the dots.

[Ipython Terminal]

Highlight the three dots

Please note that IPython automatically indents the block.

The three dots tell you that you are inside a block.

[Ipython Terminal]

'print(“sqrt of”, num, '“is”, num**0.5)

Now type the rest of the for loop, print inside parentheses inside quotes sqrt of comma num comma inside quotes is comma num raised to power of 0.5
[Ipython Terminal] Now we have finished the statements in the block.

But still the interpreter is showing three dots, this means that you are still inside the block.

[Ipython Terminal]

press Enter twice

To exit from the block press the Enter key twice without entering anything else.
[Ipython Terminal]

Highlight output

It printed the square root of each number in the list, which was executed in the for loop.
Next we will see about range built-in function in Python.
Show Slide

range() function

range() function generates a list of integers.

The syntax is: range inside parentheses inside square brackets start comma close square brackets stop open square brackets comma step close square brackets

For example:

range inside parentheses one comma twenty comma two – generates integers from

1 to 19 with step of 2

range inside parentheses twenty – generates integers from 0 to 19

[Ipython Terminal]

Highlight output

Note that the ending number that you specify will not be included in the list.
Show Slide

Exercise 2

Find out the cube of all the numbers from one to ten

Execute this in the Python interpreter.

[Terminal]

python

for i in range(1, 11):

press Enter

Let us now try to run the for loop in a Python terminal window.

Start the Python interpreter by issuing the command python in a new terminal.

Type,

for i in range inside parentheses one comma eleven colon press Enter

[Python Terminal]

Highlight the cursor

We will see that this time it shows three dots, but the cursor is close to the dots.

So we have to indent the block.

[Python Terminal]

print(i, "cube is", i**3)

The Python interpreter does not indent the code automatically.

So enter four spaces there and then type the following

print inside parentheses i comma inside quotes cube is comma i raised to power of three

[Python Terminal]

press Enter

Now when we hit enter, we still see the three dots.

To get out of the block, press Enter once again.

[Python Terminal] Okay! so the main thing we learnt here is -
  • how to use the Python interpreter and
  • the IPython interpreter to specify blocks.
Show Slide

Exercise 3

Print all the odd numbers from 1 to 50.
[IPython Terminal] Let us do it in our IPython interpreter for ease of use.

The problem can be solved by just using the range() function.

[IPython Terminal]

for i in range(1, 51, 2):

   print(i)

press Enter twice

for i in range inside parentheses one comma fifty one comma two colon

print inside parentheses i and press Enter twice

[IPython Terminal]

Highlight parameters in range function and highlight output

The first parameter is the starting number of the sequence.

The second parameter is the end of the range.

Highlight third parameter Note that the sequence does not 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.

Show Slide

Summary

This brings us to the end of the tutorial.

In this tutorial, we learnt to,

  1. Create blocks in python using for
  2. Indent the blocks of code
  3. Iterate over a list using for loop
  4. Use the range() function
Show Slide

Assignment

Here are some self assessment questions for you to solve

1. Indentation is not mandatory in Python

  • True
  • False

2. Write a for loop to print the product of all natural numbers from 1 to 20.

3. What will be the output of:

range(1, 5)

Show Slide

Solution of self assessment questions on slide

And the answers,

1. False, Indentation is essential in python.

2.

y equal to one

for x in range inside parentheses one comma twenty one colon

y into equal to x

print inside parentheses y

3. range(1, 5) will produce a list of integers from 1 to 4 [1,2,3,4]

Show Slide

Forum

Please post your timed queries in this forum.
Show Slide

Fossee Forum

Please post your general queries on Python in this forum.
Show Slide

Textbook Companion

FOSSEE team coordinates the TBC project.
Show Slide

Acknowledgment

http://spoken-tutorial.org

Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India.

For more details, visit this website.

Previous slide This is _________ from IIT Bombay (or FOSSEE, if you wish) signing off.

Thank you.

Contributors and Content Editors

Nancyvarkey, Nirmala Venkat, Trupti