如何以任何顺序允许多个用户响应?

我该怎么解决,以允许用户输入'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')


素胚勾勒不出你
浏览 164回答 2
2回答

慕容3067478

您可以使用包含每个问题和打印回复的字典,例如: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为假。

紫衣仙女

请看看这个。也许这会解决你的问题。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))注意:这只是一个模板
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python