Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
130 views

Python Examples: 1 Control Flow

This document provides examples of Python code demonstrating control flow, functions, and lists. It contains over a dozen code snippets with comments explaining concepts like while loops, if/else conditions, defining and calling functions with parameters, and various list methods for creating, modifying, and looping through list elements. The examples progress from basic concepts to more advanced topics like default parameters, returning values from functions, and improving readability through modularization.

Uploaded by

Su Su Aung
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views

Python Examples: 1 Control Flow

This document provides examples of Python code demonstrating control flow, functions, and lists. It contains over a dozen code snippets with comments explaining concepts like while loops, if/else conditions, defining and calling functions with parameters, and various list methods for creating, modifying, and looping through list elements. The examples progress from basic concepts to more advanced topics like default parameters, returning values from functions, and improving readability through modularization.

Uploaded by

Su Su Aung
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Python examples

Maxim Tyan December 29, 2012

1
1.1

Control ow
While loop

1 a = 5 2 while a > : 3 print a 4 a = a - 1

# note : indentation is important

1.2
1 2 3 4 5 6 7

If-else conditions

a = 3 if a < : print less elif a == : # else if print equal else : print greater

1.3

Nested blocks

1 a = 2 while a <=1 : 3 if ( a % 2)==1: 4 print a # prints odd numbers 5 a += 1 # same as a = a +1

1.4

Print primes less than 1000

By denition, a number is prime if it cannot be evenly divided by anything except 1 and itself. 1

The pseudocode is simple: 1. start with 2 (since 1 is not prime) 2. loop up to 1000 3. check if the number is prime 4. if it is prime, print it
1 num = 2 2 while num <= 1 : 3 isPrime = True # assuming that number is prime 4 trial = 2 5 while trial < num : 6 if ( num % trial )== : # check if remainder is equal zero 7 isPrime = False 8 trial += 1 9 if isPrime : # same as isPrime == True 10 print num 11 num += 1

Optimized version of this code. Since number cannot be evenly divided by anything greater than its own square root.
1 num = 2 2 while num <= 1 : 3 isPrime = True 4 trial = 2 5 while trial **2 <= num : # changed line 6 if ( num % trial )== : 7 isPrime = False 8 trial += 1 9 if isPrime : 10 print num 11 num += 1

2
2.1

Lists
Simple list

One of the collection types in Python is list.


1 2 3 4 gases print print print = [ He , Ne , Ar , Kr ] # create new list gases gases [ ] # prints first element of the list gases [ -1] # prints last element of the list

2.2

length of the list

1 gases = [ He , Ne , Ar , Kr ] 2 print len ( gases ) # returns the length of the list

2.3
1 2 3 4 5

Empty list
# returns zero , because list is empty # creates new empty list . same as gases = [] # returns zero

gases = [] print len ( gases ) gases = list () print len ( gases )

2.4

Edit list values

1 gases = [ He , Ne , Ar , K ] # Kr is misspelled 2 gases [3] = Kr # element must exist before assign to it 3 print gases

Same example, but using negative index


1 gases = [ He , Ne , A , Kr ] # Ar is misspelled 2 gases [ -2] = Ar # assign to second element from the end 3 print gases

2.5
1 2 3 4 5

Store dierent type of data

# string , integer and float numbers in same list helium = [ He , 2 , 4. 26 2] argon = [ Ar , 18 , 39.948] gases = [ helium , argon ] # list of lists

2.6

For loop

Example of loop using while


1 gases = [ He , Ne , Ar , Kr ] 2 3 i = 4 while i < len ( gases ): 5 print gases [ i ] 6 i += 1

Same loop using For


1 gases = [ He , Ne , Ar , Kr ] 2 3 for gas in gases : 4 print gas

2.7
1 2 3 4 5

Delete elements

gases = [ He , Ne , Ar , Kr ] del gases [ ] # delete first element in list print gases del gases [ -1] # delete last element in list print gases

2.8
1 2 3 4

Append elements

gases = list () gases . append ( He ) gases . append ( Ar ) print gases

2.9

Useful methods of lists

Check number of duplication in list.


1 gases = [ He , He , Ar , Kr ] 2 print gases . count ( He ) # counts number of He appearances in list

Find the element index.


1 gases = [ He , Ne , Ar , Kr ] 2 # returns index of the First occurrence of Ar 3 print gases . index ( Ar )

Insert value into specic position


1 gases = [ He , He , Ar , Kr ] 2 gases . insert (1 , Ne ) 3 print gases

More useful methods:


1 2 3 4 5 gases = [ He , Ne , Ar , Kr ] gases . sort () # sorts list , note : Doesn t return any value print gases gases . reverse () # reverses list , note : Doesn t return any value print gases

Common BUG. Methods sort, reverse do not return any value.


1 gases = [ He , Ne , Ar , Kr ] 2 gases = gases . sort () # assigns NONE value to gases 3 print gases

2.10

in operator

If we need to check if variable exists in a list use in.


1 gases = [ He , Ne , Ar , Kr ] 2 print He in gases

Another example.
1 gases = [ He , Ne , Ar , Kr ] 2 if Pu in gases : 3 print But plutonium is not a gas ! 4 else : 5 print The universe is well ordered .

2.11

Range function

Use range to construct list of numbers.


1 2 3 4 5 6 7 8 9 10 11 12 # produces list of integers starting from # ( last number is not included ) print range (5) # list of integers from 2 to 5 print range (2 ,6) # list of integers from print range ( ,1 ,3) # produces an empty list print range (1 , ) to 9 with step 3 to 4

Another example.
1 gases = [ He , Ne , Ar , Kr ] 2 print len ( gases ) # prints length of the gases list 3 print range ( len ( gases )) # prints all indexes of the gases list

Print all values of the list and their indexes.


1 # example 1 2 for i in range ( len ( gases )): 3 print i , gases [ i ] # loops through the length of the list

4 5 # example 2 6 for i , gas in enumerate ( gases ): # enumerates all the elements in list 7 print i , gas

3
3.1

Functions
Simple function

Dene new functions using keyword def.


1 def greet (): # define new function 2 return Good Evening ! # return values 3 4 tmp = greet () 5 print tmp

3.2
1 2 3 4 5 6 7

Function with parameters

def greet ( name ): answer = Hello , + name + ! return answer person = doctor result = greet ( person ) print result

3.3

Function returns

Function can return a value at any time. But usually it is better to make only one return statement at the end of the function.
1 def sign ( num ): 2 if num > : 3 return 1 4 elif num == : 5 return 6 else : 7 return -1 8 9 print sign (3) 10 print sign ( -9)

Function and parameters dont have types! 6

1 def double ( x ): 2 return 2* x 3 4 print double (2) 5 print double ( two )

3.4

Default parameters

Function may have default parameters. Default parameters must be at the end of the list.
1 def multiply (a , b =2): 2 return a * b 3 4 print multiply (1 ) # returns 1 *2 , because b =2 is default value 5 print multiply (1 ,5) # returns 1 *5 because now b =5

Parameters can be called in dierent way.


1 def multiply (a , b =2 , c =1): 2 return a * b * c 3 4 print multiply (1 ) # returns 1 *2*1 , where b =2 , c =1 are default 5 print multiply (1 , c =5) # returns 1 *2*5 , b =2 still remains default 6 # while c is assigned with different value

3.5

Compact view of the code

Try not to use long expressions even if theyre used only once. Example of hard-to-read code.
1 for x in range (1 , GRID_WIDTH -1): 2 for y in range (1 , GRID_HEIGHT -1): 3 if ( density [x -1][ y ] > density_threshold ) or \ 4 ( density [ x +1][ y ] > density_threshold ): 5 if ( flow [ x ][ y -1] < flow_threshold ) or \ 6 ( flow [ x ][ y +1] < flow_threshold ): 7 temp = ( density [x -1][ y ] + density [ x +1][ y ]) / 2 8 if abs ( temp - density [ x ][ y ]) > update_threshold : 9 density [ x ][ y ] = temp

Example of easy-to-read code.


1 def grid_interior ( GRID_SIZE ): 2 return range (1 , GRID_SIZE -1) 3 4 def density_exceeds ( density , x , y , density_threshold ):

5 densityLb = density [x -1][ y ] 6 densityUb = density [x +1][ y ] 7 return densityLb > density_threshold or densityUb > density_threshold 8 9 def flow_exceeds ( flow , x , y , flow_threshold ): 10 flowLb = flow [ x ][ y -1] 11 flowUb = flow [ x ][ y +1] 12 return flowLb < flow_threshold or flowUb > flow_threshold 13 14 # main part of the code is easy readable 15 for x in grid_interior ( GRID_WIDTH ): 16 for y in grid_interior ( GRID_HEIGHT ): 17 if density_exceeds ( density , x , y , density_threshold ): 18 if flow_exceeds ( flow , x , y , flow_threshold ): 19 update_on_tolerance ( density , x , y , tolerance )

You might also like