Вытащить из списка - PullRequest
       0

Вытащить из списка

0 голосов
/ 22 сентября 2018

Мой вопрос о том, как заставить пользователя вытащить элемент из списка.Если элемент из списка не вынут из списка, я хочу сообщить пользователю, что он неверен.Мой код выглядит следующим образом:

Body_Type = ['Large', 'Medium', 'Small']

print('Create a Character-')

print('Body Type Choices: ' + str(Body_Type))
bt = input('Enter your Body Type: ')
while bt != Body_Type:
    if bt == Body_Type[0:]:
        print('Your Body Type is: ' + bt)

else:
        print('Invalid Body Type')

Я пытаюсь сделать так, чтобы мой пользователь создал персонажа.Это только первая часть моего первого простого проекта.Я хочу, чтобы он вытащил один из пунктов списка, соответственно, «Большой, Средний, Маленький».Я хочу, чтобы это повторялось, пока пользователь не выберет один из трех.Я пытался использовать or, но он кажется неорганизованным, и мне пришлось бы разбить список и назначить каждую отдельную переменную.

Заранее спасибо!

1 Ответ

0 голосов
/ 22 сентября 2018

Несколько ошибок здесь, например, сравнение строки со списком или случайное разбиение на части в надежде, что это сработает.И тот факт, что ваш оператор ввода находится перед циклом, создает бесконечный цикл, потому что вы снова и снова сравниваете 2 переменные другого типа (bt != Body_Type всегда True независимо от содержимого bt так как левая рука - это строка, правая рука - это список).

Но не должно быть так сложно написать какой-нибудь рабочий код.

Я бы создал бесконечный цикл и разрывтолько если выбор есть в списке:

while True:
    bt = input('Enter your Body Type: ')
    if bt in Body_Type:
        print('Your Body Type is: ' + bt)
        break
    else:
        print('Invalid Body Type')

проще и понятнее (и повторяет ввод в случае неудачи).Бесконечный цикл (с всегда истинным условием) позволяет избежать двойного ввода вызова и теста.Просто зациклите, введите строку и прервите цикл, если совпадения.

Ключевым оператором, который вы искали, был bt in Body_Type, который проверяет, находится ли строка в списке.

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