CS 110
Functions,
Parameters, Arguments
Benjamin Dicken
Arguments and Parameters
def print_info(name):
print('Hi', name)
print('How are you?')
more code . . .
print_info('Joe')
more code . . .
print_info('Joseph')
more code . . .
def print_taxes(salary):� if salary < 10000:� print('taxes are', (salary * 0.15))� elif salary < 50000:� print('taxes are', (salary * 0.20))� elif salary < 150000:� print('taxes are', (salary * 0.30))��print_taxes(27000)�print_taxes(150000)�print_taxes(1000)
salary is only available within this function
def print_taxes(salary):� if salary < 10000:� print('taxes are', (salary * 0.15))� elif salary < 50000:� print('taxes are', (salary * 0.20))� elif salary < 150000:� print('taxes are', (salary * 0.30))��money = int(input('Enter your salary: '))��print_taxes(money)
What would print out?:
Inputs: 5000
15000
123456
def print_taxes(salary):� if salary < 10000:� print('taxes are', (salary * 0.15))� elif salary < 50000:� print('taxes are', (salary * 0.20))� elif salary < 150000:� print('taxes are', (salary * 0.30))��index = 3�while index > 0:� money = int(input('Enter your salary: '))� print_taxes(money)� index -= 1
Activity
What will this produce?
def print_class(units):� if units > 90:� print('senior')� elif units > 60:� print('junior')� elif units > 30:� print('sophomore')� elif units >= 0:� print('freshman')� else:� print('WAT')��print_class(20)�print_class(-5)�print_class(100)
Activity
What will this produce?
def print_status(units):� if units >= 12:� print('full-time')� else:� print('part-time')��semester = int(input('Semester Units: '))
total = int(input('Total Units: '))�print_status(semester)
print_class(total)
def print_class(units):� if units > 90:� print('senior')� elif units > 60:� print('junior')� elif units > 30:� print('sophomore')� else:� print('freshman')
Activity
What will this produce?
semester = int(input('Semester Units: '))
total = int(input('Total Units: '))�print_school_info(semester, total)
def print_school_info(semester_units, total_units):
if semester_units >= 12:
print('full-time')
else:
print('part-time')
if total_units > 90:
print('senior')
elif total_units > 60:
print('junior')
elif total_units > 30:
print('sophomore')
else:
print('freshman')
Activity
validate_name.py
import os
first = input('Enter first name: ')
if not first.isalpha() or len(first) > 15 or not first[0].isupper():
print('Invalid first name.')
os._exit(0)
middle = input('Enter middle initial: ')
if not middle.isalpha() or len(middle) > 1 or not middle[0].isupper():
print('Invalid middle initial.')
os._exit(0)
last = input('Enter last name: ')
if not last.isalpha() or len(last) > 30 or not last[0].isupper():
print('Invalid last name.')
os._exit(0)
print('Valid name!')
validate_name.py
What is redundant? What is different?
import os
first = input('Enter first name: ')
if not first.isalpha() or len(first) > 15 or not first[0].isupper():
print('Invalid first name.')
os._exit(0)
middle = input('Enter middle initial: ')
if not middle.isalpha() or len(middle) > 1 or not middle[0].isupper():
print('Invalid middle initial.')
os._exit(0)
last = input('Enter last name: ')
if not last.isalpha() or len(last) > 30 or not last[0].isupper():
print('Invalid last name.')
os._exit(0)
print('Valid name!')
Activity
validate_name.py
What is redundant? What is different?
import os
first = input('Enter first name: ')
if not first.isalpha() or len(first) > 15 or not first[0].isupper():
print('Invalid first name.')
os._exit(0)
middle = input('Enter middle initial: ')
if not middle.isalpha() or len(middle) > 1 or not middle[0].isupper():
print('Invalid middle initial.')
os._exit(0)
last = input('Enter last name: ')
if not last.isalpha() or len(last) > 30 or not last[0].isupper():
print('Invalid last name.')
os._exit(0)
print('Valid name!')
Write function validate_input
Can be called three times
What is redundant? What is different?
import os
first = input('Enter first name: ')
if not first.isalpha() or len(first) > 15 or not first[0].isupper():
print('Invalid first name.')
os._exit(0)
middle = input('Enter middle initial: ')
if not middle.isalpha() or len(middle) > 1 or not middle[0].isupper():
print('Invalid middle initial.')
os._exit(0)
last = input('Enter last name: ')
if not last.isalpha() or len(last) > 30 or not last[0].isupper():
print('Invalid last name.')
os._exit(0)
print('Valid name!')
Activity
Is this better?
import os
def validate_input(input_type, length):
value = input('Enter ' + input_type + ': ')
if not value.isalpha() or len(value) > length or not value[0].isupper():
print('Invalid ' + input_type + '.')
os._exit(0)
validate_cap_alpha_input('first name', 15)
validate_cap_alpha_input('middle initial', 1)
validate_cap_alpha_input('last name', 30)
print('Valid name!')