200 likes | 338 Views
COSC 1306—COMPUTER SCIENCE AND PROGRAMMING PYTHON BRANCHES AND LOOPS. Jehan-François Pâris jfparis@uh.edu. STARTING WITH A GAME. Number guessing game. We use a random number generator to generate a random number between 1 and 10
E N D
COSC 1306—COMPUTER SCIENCE AND PROGRAMMING PYTHON BRANCHES AND LOOPS Jehan-François Pâris jfparis@uh.edu
Number guessing game • We use a random number generator to generate a random number between 1 and 10 • Users are asked to guess the number until they come with the right value
Number guessing game • We use a random number generator to generate a random number between 1 and 10 • Users are asked to guess the number until they come with the right value
Flow chart Generate RN n Input i False True i == n You win
True False ??? More about flow charts • Graphic representation of flow of control • Loops represented by loops • Ifs have two branches
Simple if • If condition : something • If tank_empty : get_gas True condition False something
If with else clause (I) • If condition: somethingelse: other stuff False True condition other stuff something
If with else clause (II) If hungry : Macdonaldelse : Starbucks In either case, you will leave the freeway
While • while condition : something • while stain : keep_washing True condition False something Go back!
How to generate RN • Import a function from module random • from random import randint • randint(min, max) • generates an integer between min and max
The program (I) • # guess.py“”” must guess a random number between 1 and 10“””# secret# guess
The program (II) • from random import randintsecret = randint (1,10)guess = -1 # bad guesswhile guess != secret : guess = int(input("Enter your guess: ")print("You win!")
A better program • Tells whether guess is too low or too high • Must consider three cases inside the loop • Correct guess • Guess that is too low • Guess that is too high
The better program (I) • # guess.py“”” must guess a random number between 1 and 10“””# secret# guessfrom random import randintsecret = randint (1,10)guess = -1 # bad guess
The program (II) • while guess != secret : guess = int(input(“Enter your guess: “)) if guess == secret : print ("You win!") else : if guess < secret : print ("Too low!") else: print ("Too high!")
Using an elif (I) • Too many nested ifs if cond-1 : …else if cond-2 : … else if cond-3 : … else …
Example while guess != secret : guess = int(input("Enter your guess: ")) if guess == secret : print ("You win!") elif guess < secret : # observe indentation print ("Too low!") else: print ("Too high!")
Using an elif (II) • With elif, lines align better if cond-1 : …elif cond-2 : …elif cond-3 : …else …
Indenting advice • Python attaches great importance to indenting • You cannot indent anything that is not inside • An if, a while, a for, … • A function declaration or a main function • Your indentation must be consistent • Do not mix spaces and tabs