PYTHON CONDITIONALS CHAPTER 5 FROM THINK PYTHON HOW

  • Slides: 17
Download presentation
PYTHON CONDITIONALS CHAPTER 5 FROM THINK PYTHON HOW TO THINK LIKE A COMPUTER SCIENTIST

PYTHON CONDITIONALS CHAPTER 5 FROM THINK PYTHON HOW TO THINK LIKE A COMPUTER SCIENTIST

BOOLEAN EXPRESSION A Boolean expression is an expression that results in either a True

BOOLEAN EXPRESSION A Boolean expression is an expression that results in either a True or False. We can test these in easily. For example >>> 5 == 2 #note the double == is used to test for equality False >>> 5 == 5 # Note that 5=5(or x=5) is really bad!! True # Other relational operators include x != y x<y x <= y x>=y All of these return a True or False Note that True and False are NOT strings

LOGICAL OPERATORS There are three logical operators, and, or and not These are used

LOGICAL OPERATORS There are three logical operators, and, or and not These are used as we do in English >>> True and True >>> True and False if both true return true else false # False >>> True or False # if either is true return true True >>> not True >>> True and not False True

FURTHER EXAMPLES >>> x=10 >>> y = 0 >>> x>5 and y == 0

FURTHER EXAMPLES >>> x=10 >>> y = 0 >>> x>5 and y == 0 True >>> x != 10 or not y == 3 True >>> x>5 and x<=20 # returns True if x is between 5 and 20 True >>> x%2==0 or x%3==0 # divisible by 2 or by 3 return True

CONDITIONAL EXECUTION The first instruction that we will look at that uses conditions is

CONDITIONAL EXECUTION The first instruction that we will look at that uses conditions is the if statement. Here is the syntax if <condition>: statement more_statements Execute these instruction only if <condition> Is True. Four space Indention is required! # an example if x!=0: y = 20. 0/x print y #makes sure the we are not dividing by 0

ALTERNATIVE EXAMPLE if <condition>: Instruction to execute if <condition> is True else: Instructions to

ALTERNATIVE EXAMPLE if <condition>: Instruction to execute if <condition> is True else: Instructions to execute if <condition> is False # Example if (x>0): print ‘x is positive’ else: print ‘x is less than or equal to zero’

CHAINED CONDITIONALS If x<y: print ‘x is less than y’ elif x>y: print ‘x

CHAINED CONDITIONALS If x<y: print ‘x is less than y’ elif x>y: print ‘x is greater than y’ else: print ‘x is equal to y’ #You can chain as many of these elif’s as you want # Lets do an example with grades

DETERMINE A LETTER GRADE FROM A NUMBER grade= ? #Assign some value here if

DETERMINE A LETTER GRADE FROM A NUMBER grade= ? #Assign some value here if grade>=90: print ‘I made an A’ elif grade>=80: #Note: As soon as a true is found # the remainder is skipped!! print ‘I made a B’ elif grade>=70: print ‘I made a C’ else: print ‘I better get to studying’

WE CAN ALSO PUT AN IF WITHIN AN IF (NESTED) Suppose we want to

WE CAN ALSO PUT AN IF WITHIN AN IF (NESTED) Suppose we want to see if a is greater than b and c if a>b : if b>c: print a, ‘is the largest’ else: Note: This is a contrived example. There is a much easier way to do this! if a>c: print a, ‘is the largest’ else: print a, ‘is not the largest’ else: print a, ‘ is not the largest’ Think about using the and operator!!

KEYBOARD INPUT HTTP: //DOCS. PYTHON. ORG/2/LIBRARY/FUNCTIONS. HTM L Before we look at more if-else

KEYBOARD INPUT HTTP: //DOCS. PYTHON. ORG/2/LIBRARY/FUNCTIONS. HTM L Before we look at more if-else examples we need to see how to get input (keyboard) from the person running the python program. raw_input([prompt]) If the prompt argument is present, it is written to screen without a trailing newline. The function then reads a line from input, converts it to a string (stripping a trailing newline), and returns that. When EOF is read, EOFError is raised. Example: x = raw_input(‘Enter a number: ’) Prompt A string

OK, LOOK AT THIS >>> x = raw_input('Enter a number: ') Enter a number:

OK, LOOK AT THIS >>> x = raw_input('Enter a number: ') Enter a number: 23 >>> x+3 #What will be printed? Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> x+3 Type. Error: cannot concatenate 'str' and 'int' objects WHY? So what can we do to fix it?

CONVERT IT TO AN INTEGER OR FLOAT #method 1 >>> x = raw_input('Enter a

CONVERT IT TO AN INTEGER OR FLOAT #method 1 >>> x = raw_input('Enter a number: ') Enter a number: 12 >>> x=int(x) #convert x to an integer >>> x+4 16 #method 2 >>> x = int(raw_input('Enter a number: '))+4 Enter a number: 23 27 What if I typed in 3. 45 instead of 12

HERE IS WHAT HAPPENS >>> x = raw_input('Enter a number: ') Enter a number:

HERE IS WHAT HAPPENS >>> x = raw_input('Enter a number: ') Enter a number: 3. 45 >>> int(x) Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> int(x) Value. Error: invalid literal for int() with base 10: '3. 45' Note: float(x) will work!

SOME PROBLEMS TO CONTEMPLATE a=float(raw_input(‘Enter a: ’)) b=float(raw_input(‘Enter b: ’)) c=float(raw_input(‘Enter c: ’)) x=float(raw_input(‘Enter

SOME PROBLEMS TO CONTEMPLATE a=float(raw_input(‘Enter a: ’)) b=float(raw_input(‘Enter b: ’)) c=float(raw_input(‘Enter c: ’)) x=float(raw_input(‘Enter x: ’)) y = a*x**2+b*x+c print ‘The answer is’, y Enter a: 2 Enter b: 3 Enter c: 4 Enter x: 5 The answer is 69. 0 >>>

FIND THE LARGEST INTEGER ( USE MAX SUPPORT VARIABLE ) x = raw_input('Enter an

FIND THE LARGEST INTEGER ( USE MAX SUPPORT VARIABLE ) x = raw_input('Enter an integer : ') max=int(x) x = raw_input('Enter an integer : ') x = int(x) if x>max: max = x x = raw_input('Enter an integer : ') x=int(x) if x>max: max = x print 'The largest is', max

DIVISIBILITY TESTS A SEQUENCE OF IF’S x = raw_input('Enter an integer : ') x=int(x)

DIVISIBILITY TESTS A SEQUENCE OF IF’S x = raw_input('Enter an integer : ') x=int(x) # don’t forget this one. if x%2==0: print "divisible by 2" if x%3==0: print "divisible by 3" if x%5==0: print "divisible by 5" if x%7==0: print "divisible by 7"

USING STRINGS x = raw_input('Enter your first name : ') # note x is

USING STRINGS x = raw_input('Enter your first name : ') # note x is a string already so no conversion is required! if x=='Richard': print x, 'is an awesome teacher' else: print x, 'must be an awesome student'