#python #database #do-while
#питон #База данных #делай-пока
Вопрос:
Всем добрый день, мне интересно, можете ли вы помочь мне в моей проблеме, связанной с базой данных Python (SQLite3). Я хотел сделать что-то полезное в своей программе. Поэтому каждый раз, когда я успешно вводил данные или после выполнения работы, вместо того, чтобы мгновенно возвращаться в главное меню, я хотел задать вопрос: «Вы хотите продолжить? Y/N», если «Y», то он перейдет в главное меню, а если «N», то завершит программу. Заранее благодарю вас!
import Databaseprofile MENU_PROMPT = """--- Barangay Resident Record --- Please choose one of these options: [1] Add a new resident/profile. [2] See all residents list. [3] Exit. Your selection: """ def menu(): connection = Databaseprofile.connect() Databaseprofile.create_tables(connection) while (user_input := input(MENU_PROMPT)) != "3": if user_input == "1": print("---Add a Resident---") name = input("Enter full name: ") birth = input("Enter birthdate (YY-MM-DD): ") sex = input("Enter Sex: ") purok = int(input("Enter your Purok: ")) house = int(input("Enter house number: ")) number = int(input("Enter mobile number: ")) Databaseprofile.add_profile(connection, name, birth, sex, purok, house, number) print("---Added successfully!---") elif user_input == "2": print("--------------------------------------------------------------------------------------------------") print("---Resident's List---") profile = Databaseprofile.get_all_profile(connection) for prof in profile: print(f"{prof[0]}, {prof[1]}, {prof[2]}, {prof[3]}, Purok {prof[4]}, House Number {prof[5]}, Mobile Number {prof[6]}") print("--------------------------------------------------------------------------------------------------") # else: print("Invalid input, try again.") print("Thank you for using our program.") menu()
Ответ №1:
find()
вернет индекс подстроки или -1, если подстрока не существует. Следующее будет повторяться до тех пор, пока стандартный ввод не получит ответ «да» или «нет» :
print("---Added successfully!---") # loop until acceptable input is received while True: response = input("Do you want to continue? Y/N")[0] if 'yYnN'.find(response) gt; -1: break # exit outer loop and terminate the program if 'nN'.find(response) gt; -1: break