Python: База данных работает, пока

#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