# Functions go here def not_blank(question): """Checks that a user response is not blank""" while True: response = input(question) if response != "": return response print("Sorry this can't be blank. Please try again. \n") def int_check(question): """Checks users enter an integer that is more than zero (or the 'xxx' exit code)""" error = "Oops - please enter an integer" while True: try: # Return the response if it's an integer response = int(input(question)) return response except ValueError: def string_check(question, valid_answers=('yes', 'no'), num_letters=1): """Checks that users enter the full word or the 'n' letter/s of a word from a list of valid responses""" while True: response = input(question).lower() for item in valid_answers: # check if the response is the entire word if response == item: return item # check if it's the 'n' letters elif response == item[:num_letters]: return item print(f"Please choose an option from {valid_answers}") # main program heading make_statement("Pizza Program", "🍕") print() want_instructions = string_check("Do you want to see the instructions? ", yes_no) if want_instructions == "yes": instructions() print() name = not_blank("Please enter your name: ") Number = not_blank("Please enter your phone number: ") delivery_type = string_check(f"Greetings {name}. Is the order pickup or delivery? ", pickup_del) print(f"You chose {delivery_type}") print() address = not_blank("Please enter your address: ")