If statements can be used to run code conditionally
Before if-statements: Code has pretty much just run in a straight line
With ifs: Can run code optionally, depending on the value of a condition
This means our code can branch in different directions
if condition: statement 1 statement 2 . . . statement N
The condition is an expression that is evaluated to a bool.
Example:
Instead of checking if the name entered is “Bond”, also check whether the name is “James Bond”.
The computer program branches out, or makes decisions
def greater_than_zero(n):
if n > 0:
return "Greater than zero"
else:
return "Not greater than zero"
def main():
result = greater_than_zero(4)
print(result)
result = greater_than_zero(0)
print(result)
result = greater_than_zero(-3)
print(result)
main()
Greater than zero
Not greater than zero
Not greater than zero
Write a Python function called absolute
that takes one numeric argument (integer or float) n
and returns the absolute value of n
: if n
is positive, it results n
, if n
is negative, it returns n * -1
Test cases:
def absolute(n):
if n > 0:
return n
return -n
def main():
print( absolute(4) )
print( absolute(-4) )
main()
4
4
Which lines run in the function absolute
?
n > 0
is True
, line 3
runs (return
is used to exit a function and returns a value)n > 0
is False
, line 4
runs (skip line 3
)age_milestones
takes one integer age
age
is greater or equal to 18
age
greater or equal to 21
age
greater or equal to 35
def age_milestones(age):
'''
This function prints an informative message based on,
a person's age.
Args:
age: integer representing a person's age
Returns:
A string with a message to the user
'''
message = ""
if age >= 18:
message += 'You may apply to join the military.'
if age >= 21:
message += ' You may drink.'
if age >= 35:
message += ' You may run for president.'
return message
def main():
print( age_milestones(18) ) # You may apply to join the military.
print( age_milestones(30) ) # You may apply to join the military. You may drink.
print( age_milestones(0) ) #
main()
You may apply to join the military.
You may apply to join the military. You may drink.
You have 10 minutes to complete the quiz.
No need to write main()
function.
In addition to having built-in functions (len()
, print()
, int()
, float()
, etc.), Python also has a number of methods we will be using in this class.
Check the documentation for string methods and read what .isnumeric()
does.
input()
function always returns a string
.isnumeric()
to determine if a string represents an integer.isnumeric()
returns True if all the characters are numeric (0-9)Try these out:
Write a Python function validate_age
that takes a string argument age
. It returns True
if age
contains only 0-9 digit characters, and False
otherwise.
In your previous file for age milestone, in the main
function:
input()
to type an agevalidate_age
to validate your inputTrue
, call age_milestones
to print messagesFalse
, print ‘Invalid age entered’def age_milestones(age):
'''
This function prints an informative message based on,
a person's age.
Args:
age: integer representing a person's age
Returns:
A string with a message to the user
'''
message = ""
if age >= 18:
message += 'You may apply to join the military'
if age >= 21:
message += 'You may drink'
if age >= 35:
message += 'You may run for president'
return message
def validate_age(age):
return age.isnumeric()
def main():
'''
This functions takes input from the user and calls the
check_age() functiont to print a message
'''
age = input('How old are you?\n')
if validate_age(age):
print(age_milestones(int(age)))
else:
print("Invalid age entered")
main()