Как мне использовать цикл while со списком переменных

#python #python-3.x

#python #python-3.x

Вопрос:

Я хочу перебирать варианты, которые пользователь ввел в качестве входных данных, и варианты сохраняются как переменные,

 A = "A"
S = "S"
D = "D"
F = "F"
action_input = input("n ")
action_input1 = action_input.title()
while (action_input1 not in [A, S, D, F]) :
    if action_input1 == A :
        print("n Required Result is : "   str(Ac))
    elif action_input1 == S :
        print("n Required Result is : "   str(Sc))
    elif action_input1 == D :
        print("n Required Result is : "   str(Dc))
    elif action_input1 == F :
        print("n Required Result is : "   str(Fc))
    else :
        print("n Please enter from the choices given above")
 

Комментарии:

1. Что такое Ac et. al?

2. Ac, Sc, Dc, Fc они просто переменные, хранящие какое-то другое значение

3. Хотя я буду вежлив с начинающими пользователями, я также хочу быть честным. Я думаю, вы получаете много отрицательных отзывов, потому что ваш код выглядит действительно беспорядочно. Это показывает реальное непонимание Python. Может быть, вы хотите сначала сделать несколько руководств, прежде чем писать свою собственную программу.

4. да, я новичок в python, но я не получил никаких руководств по использованию циклов while в списке переменных, имеющих разные значения, есть ли другой способ сделать это? Я просто хочу, чтобы пользователь вводил только один из четырех вариантов, и если какой-либо пользователь вводит выбор, кроме четырех вариантов, он должен запрашивать их, и пользовательский ввод должен повториться!, я изо всех сил стараюсь следовать Дзен python, и я написал код с пробелами в каждой строке, но IDK этот код являетсяОтображается таким образом!

Ответ №1:

Вы можете запросить ввод внутри while True цикла, а затем break выйти из него, когда будет задан допустимый ввод:

 action_map = {
    "A": str(Ac),
    "S": str(Sc),
    "D": str(Dc),
    "F": str(Fc)
}

while True:
    action_input = input("n ")
    action_input1 = action_input.title()
    if action_input1 in action_map:
        print("n Required Result is : "   action_map[action_input1])
        break
    else :
        print("n Please enter from the choices given above")