Как разрешить множественные пользовательские ответы в любом порядке? - PullRequest
0 голосов
/ 01 марта 2019

Что я могу исправить, чтобы пользователи могли вводить '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')

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Вы можете использовать словарь, состоящий из каждого вопроса с напечатанным ответом, например:

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 пусто.

0 голосов
/ 01 марта 2019

Пожалуйста, посмотрите на это.Возможно, это решит вашу проблему.

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))

Примечание: это всего лишь шаблон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...