Python/C3/Getting-started-with-for /English
Visual Cue | Narration |
---|---|
Show Slide 1
Containing title, name of the production team along with the logo of MHRD |
Hello and welcome to the tutorial on Getting started with ``for` loop`. |
Show Slide 2
Learning objectives |
At the end of this tutorial, you will be able to,
|
Show Slide 3
Pre-requisite Switch to next slide, 'Whitespace in python' |
Before beginning this tutorial,we would suggest you to complete the tutorial on "Getting started with Lists".
In Python whitespace is significant, and the blocks are visually separated. The best practice is to indent the code using four spaces. As you can see in the slide, "Block B" is an inner block, indented by 4 spaces. After "Block B" the next statement in "Block A" starts from the same indentation level of other "Block A" Statements. |
ipython -pylab | Start the ipython interpreter using ipython -pylab. |
Now let us move straight into for loop. | |
Show Slide 4
Assignment 1 |
Write a for loop which iterates through a list of numbers and find the square root of each number. numbers are 1369, 7225, 3364, 7056, 5625, 729, 7056, 576, 2916 |
Show Slide 5
Solution 1 |
For the problem, first we need to create a list of numbers and then iterate over the list and find the square root of each element in it. And let us create a script, rather than typing it out in the interpreter itself. Open your text editor and type the following code shown on the slide. |
Show Slide 6
Save & run script |
Now switch to your terminal and run the script as, |
%run -i list_roots.py | So that was easy! All what we did was iterate over the list element by element and then use the element for calculation. Note that here we used two variables,the variable numbers, which is a list,and the other variable each, which is the element of list under consideration in each cycle of the for loop. The variable names can be chosen by you. |
Show the script which was created | Note that the lines after for statement, is indented using four spaces. |
Highlight the line after for statement | It means that line is a part of the for loop. And it is a block of code, although it is only a single statement in the block. Also, the fourth line or the immediate line after the for block is not indented. |
Highlight the fourth line - the line just after for loop | It means that it is not a part of the for loop and the lines after that dont fall in the scope of the for loop. Thus each block is separated by the indentation level and that marks the importance of white-spaces in Python. |
Show Slide 7
Assignment 2 |
Print the square root of numbers in the list. And this time let us do it right in the IPython interpreter. So let us create a list. |
Switch focus to the IPython interpreter
numbers = [1369, 7225, 3364, 7056, 5625, 729, 7056, 576, 2916] for each in numbers: Hit enter |
You will notice that, as soon as you press the enter key after for statement, the prompt changes to four dots and the cursor is not right after the four dots but there are four spaces from the dots. |
Highlight the four dots | Please note that IPython automatically indents the block. The four dots tell you that you are inside a block. |
print "Square root of", each,
print "is", sqrt(each) |
Now type the rest of the for loop, |
Hit enter twice | Now we have finished the statements in the block, and still the interpreter is showing four dots, this means that you are still inside the block. To exit from the block press the return key or the enter key twice without entering anything else. |
It printed the square root of each number in the list, which was executed in the for loop. | |
Show Slide 8
Assignment 3 |
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. |
Switch to the terminal
python for i in range(1,11): Hit enter |
Start the vanilla version of Python interpreter by issuing the command python in your terminal. |
Highlight the cursor | press enter once, and we will see that this time it shows four dots, but the cursor is close to the dots, so we have to indent the block. |
print i, "cube is", i**3 | The vanilla version of Python interpreter does not indent the code automatically. So enter four spaces there and then type the following |
Hit enter | Now when we hit enter, we still see the four dots. To get out of the block, hit enter once again. |
Show Slide 9
range() function |
Okay! so the main thing we learnt here is how to use the Python interpreter and the IPython interpreter to specify blocks. But while we were generating the multiplication table we used something new, range() function. range() is an inbuilt function in Python which can be used to generate a list of integers from a starting number to an ending number. Note that the ending number that you specify will not be included in the list. |
Show Slide 10
Assignment 4 |
Print all the odd numbers from 1 to 50. Let us do it in our IPython interpreter for ease of use. |
Switch focus to ipython interpreter
ipython |
The problem can be solved by just using the range() function.
It can be solved as, |
print range(1,51,2) | This time we passed three parameters to range() function unlike the previous case where we passed only two parameters. The first two parameters are same in both the cases. The first parameter is the starting number of the sequence and the second parameter is the end of the range. 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 11
Summary |
This brings us to the end of the tutorial. In this tutorial,we learnt to,
|
Show Slide 12
Self assessment questions slide |
Here are some self assessment questions for you to solve
3. What will be the output of- range(1,5) |
Show Slide 13
Solution of self assessment questions on slide |
And the answers,
2. We use the for loop in the following manner. y = 1 for x in range(1,21): y*=x print y
|
Show Slide 14
Acknowledgment slide |
Hope you have enjoyed this tutorial and found it useful. Thank you! |