# Functions go here def string_check(question, valid_ans_list, num_letters): """Checks that users enter the full word or the first letter of a word from alist of valid responses""" while True: response = input(question).lower() for item in valid_ans_list: # check if the response is the entire word if response == item: return item # check if it's the 'n' letter elif response == item[:num_letters]: return item print(f"Please choose an option from {valid_ans_list}") # Main routine goes here yes_no_list = ['yes', 'no'] payment_list = ['cash', 'credit'] like_coffee = string_check("Do you like coffee? ", yes_no_list, 1) print(f"You chose {like_coffee}") pay_method = string_check("Payment method: ", payment_list, 2) print(f"You chose {pay_method}") cost = int(input('Enter a number between 4 and 6')) if pay_method == 'credit': charge = (cost * 2.5) /100 cost_charge = round(cost + charge, 2 ) print(f" Surcharge = ${charge} Total cost = ${cost_charge}" ) else: print(f" Total cost = ${cost}")