我正在寻找一种方法 - 在您选择了想要查看的内容(main_screen_choice)之后 - 无需重新启动程序即可选择其他内容。这是我的代码
users = []
victims = ['John Smith', 'Karen Jones', 'Kevin Tomlinson']
print ('>>>>> RauCo. Protection Corp. <<<<<')
user = input('Username: ')
def storeUser():
users.append(user)
def check():
if user == 'Cabbage':
storeUser()
print ('Welcome back, Master...')
else:
print ('INTRUDER')
exit()
check()
main_screen_choice = input('What do you want to do? \nVictims, To Do,
Exit\n(Case Sensitive!): ')
def checkMainChoice():
if main_screen_choice == 'Victims':
print (victims)
elif main_screen_choice == 'To Do':
print ('Have a shower - you stink!')
elif main_screen_choice == 'Exit':
exit()
else:
print ('Error: Not a valid option, please run program again')
checkMainChoice()
答案 0 :(得分:1)
只需反复回到您要求输入的位置并运行相应的行为。
这通常使用while
循环实现。因此,您的代码将如下所示:
while True:
main_screen_choice = input('What do you want to do? \nVictims, To Do,
Exit\n(Case Sensitive!): ')
checkMainChoice()
但我不喜欢全局变量,我建议你给checkMainChoice
函数一个参数:
def checkMainChoice(choice):
if choice == 'Victims':
print (victims)
elif choice == 'To Do':
print ('Have a shower - you stink!')
elif choice == 'Exit':
exit()
else:
print ('Error: Not a valid option, please run program again')
然后,while
循环将成为:
while True:
main_screen_choice = input(...)
checkMainChoice(main_screen_choice)
作为旁注的几个评论:
mixedCase
中的变量和lower_case_with_underscores
中的方法/函数。lower
方法设置小写输入,轻松解决此问题:choice = input(...).lower()
。然后,您将输入与小写字符串进行比较:'to do'
,'exit'
...