如何解决以允许用户以任何顺序输入'Version'
,'Credit'
,'Info'
,'Notes'
和'Credit'
的问题?
这是我尝试的代码:
if(answer == 'Debug'):
print('Type the word in the debug screen\nto get an output, '
'ex. Type "Version"\nto find the file Version.')
print('\033[1;34;40m============')
print('\033[1;39;40mVersion')
print('\033[1;33;40mCredit')
print('\033[1;34;40mInfo')
print('\033[1;32;40mNotes')
answer=raw_input()
if(answer == 'Version'):
print('\033[1;39;39m1.2.2')
if(answer == 'Credit'):
print('\033[1;33;40mXendos6 2/22/19')
答案 0 :(得分:0)
请看一下。也许这可以解决您的问题。
responses = {
'version': '1.0.1',
'credit': 'some_credit',
'info': 'this is info',
'debug': 'this is debug output'
}
for i in responses.keys():
user_input = input('Please enter a choice from {}: '.format(options))
print(responses.get(user_input))
注意:这只是一个模板
答案 1 :(得分:0)
您可以使用包含每个问题和打印答复的字典,例如:
menu = {'Version': '1.2.2', 'Credit': 'Xendos6 2/22/19', 'Info': 'Some information'}
print('\033[1;34;40m============')
for k in menu.keys():
print('\033[1;39;40m', k)
answer = raw_input()
if answer in menu:
print('\033[1;39;39m', menu[answer])
else:
print("Invalid answer:", answer)
这使菜单添加项变得更加容易。如果要执行的代码比简单的文本字符串复杂,则可以将操作放置在一个函数中,每个菜单项一个,并将函数名称用作值。然后将该函数称为menu[answer]()
。
编辑: 现在看来,OP需要循环。下面是一个示例,该示例将从菜单中删除每个条目:
menu = {'Version': '1.2.2', 'Credit': 'Xendos6 2/22/19', 'Info': 'Some information'}
while menu:
print('\033[1;34;40m============')
for k in menu.keys():
print('\033[1;39;40m', k)
answer = raw_input()
if answer in menu:
print('\033[1;39;39m', menu[answer])
del(menu[answer])
else:
print("Invalid answer:", answer)
当选择一个项目时,此键将删除。当menu
中包含数据项时,循环继续进行-当while menu:
为空时,menu
将为false。