Как получить пользовательский ввод для выбора формы пирамиды python

#python #while-loop

Вопрос:

Итак, в настоящее время я застрял на шаге, в вопросах говорится, что мы хотим, чтобы пользователи вводили данные о форме пирамиды и высоте.

Пока что это мой код.

 shape_input = input("shape?: ")
while shape_input not in {"pyramid, square, triangle"}:
    try:
        shape_input = input("shape?: ")
    except EOFError:
        break
return shape_input
 

Ответ №1:

Беда в том, что

 while shape_input not in {"pyramid, square, triangle"}:
 

проверяет, находятся ли входные данные в наборе из одного объекта-строки «пирамида, квадрат, треугольник», в то время как вы имеете в виду:

 while shape_input not in {"pyramid", "square", "triangle"}:
 

Однако хорошо сработано при использовании набора.

P.S. На интерфейсе пользовательского интерфейса я бы изменил сообщение внутри цикла на что-то вроде «Недопустимая форма, повторите попытку:». Вам нужно в общих чертах рассказать о том, что происходит в вашей программе: в этом случае им нужно повторно войти, потому что они ввели неверно (поэтому им нужно сказать об этом).