* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download PH2150 Scientific Computing Skills
Survey
Document related concepts
Transcript
PH2150 Scientific Computing Skills Control Structures in Python • In general, statements are executed sequentially, top to bottom. • There are many instances when you want to break away from this e.g, • Branch point: choose to go in one direction or another based on meeting some condition. • Repeat: You may want to execute a block of code several times. • Programming languages provide various control structures that allow for more complicated execution paths. • Here we will focus on two such examples conditionals and loops: • Will see the if, while and for statements and associated else, elif, range, break and continue commands PH2150 Scientific Computing Skills The if statement is used to check a condition: if the condition is TRUE, we run a block of statements (the if-block), else (FALSE) we process another block of statements (else-block) or continue if no optional else clause. if guess==number: #if followed by condition we are testing, colon indicates begin the if-block <Block of statements> # indent shows that you are in the if-block, when the block of statements is completed you will drop back into the main program. if guess==number: #if TRUE execute statements <Block of statements> # skips else else:#if FALSE executes the second block <Block of statements> # returns to main program after these statements. PH2150 Scientific Computing Skills The elif statement allows you to check multiple expressions for TRUE and execute a block of code as soon as one of the conditions evaluates to TRUE.. if guess==number: #1st condition <Block of statements> # elif condition2: # checks for a 2nd condition which if TRUE runs second block of statements. <Block of statements> # elif condition3: # checks for a 3rd condition which if TRUE runs 3rd block of statements. <Block of statements> # elif condition4: # checks for a 4th condition which if TRUE runs 4th block of statements. <Block of statements> # else: # optional else if all above statements are FALSE <Block of statements> # PH2150 Scientific Computing Skills You may want to check for another condition after a condition resolves to TRUE. Here you can use the nested if construct. In a nested if construct, you can have an if...elif...else construct inside another if...elif...else if condition1: # <Block of statements> # runs statements then checks next if. if condition2: #checks for a 2nd condition which if TRUE runs second block of statements. <Block of statements> # elif condition3: # checks for a 3rd condition which if TRUE runs 3rd block of statements. <Block of statements> # else: # if condition 1 is TRUE, but 2 and 3 are FALSE. <Block of statements> # else: # optional else if condition 1 is FALSE <Block of statements> # PH2150 Scientific Computing Skills Loops: for loops are traditionally used when you have a piece of code which you want to repeat number of times. As an alternative, there is the while Loop, the while loop is used when a condition is to be met, or if you want a piece of code to repeat forever. for letter in 'Python': # loops for each character in string print 'Current Letter :', letter fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # loops for each element in list print 'Current fruit :', fruit for index in range(len(fruits)): # loops for each element in list print 'Current fruit :', fruits[index] FruitsA=[x for x in fruits if x[0]==‘a’] # returns [‘apple’] PH2150 Scientific Computing Skills Control Structures in Python: range() The range() function creates a list of numbers determined by the input parameters. range([start,] stop[, step]) -> list of integers When step is given, it specifies the increment (or decrement). >>> range(5) [0, 1, 2, 3, 4] >>> range(5, 10) [5, 6, 7, 8, 9] >>> range(0, 10, 2) [0, 2, 4, 6, 8] e.g. How to get every second element in a list? for i in range(0, len(data), 2): print data[i] PH2150 Scientific Computing Skills Loops: the while loop is used when a condition is to be met, or if you want a piece of code to repeat forever. while expression: #while TRUE execute block of statements <Block of statements> var = 1 while var == 1 : # This constructs an infinite loop num = raw_input("Enter a number :") print "You entered: ", num if num=='Q': # This gives a route out of loop print “Goodbye” break # break will terminate the loop