Функция, которую я написал, рисует либо square
, triangle
, либо rectangle
. он просит пользователя ввести ту форму, которую они хотят нарисовать. если вход не один из следующих, он вновь просит пользователя ввести правильный вход:Функция продолжает запрашивать ввод
Допустимые входы
square, triangle, rectangle, q #function Quits.
Проблема у меня, когда пользователь вводит правильный ввод в первый раз, функция переносит на отлично и рисует эту форму. однако, если пользователь сначала вводит «недопустимый вход», например (круг), он запрашивает у пользователя повторный ввод «допустимого ввода (формы)». когда он делает это так, то функция бесконечности продолжает говорить:
сообщение об ошибке
Unknown shape. Please try again Enter shape to draw (q to quit):
код
def get_valid_shape():
''' Asking the user to enter a valid shape that the function can draw '''
shape = input("Enter shape to draw (q to quit): ").lower()
unvalid_names1 = shape != "triangle" and shape != "square"
unvalid_names2 = shape != "rectangle" and shape != "q"
while unvalid_names1 == True and unvalid_names2 == True:
print("Unknown shape. Please try again")
shape = input("Enter shape to draw (q to quit): ").lower()
if shape == "q":
print("Goodbye")
return
Может кто-нибудь помочь?
Да, я согласен с вами, спасибо !. Вы даете мне разрешение на использование кода ur для моей задачи? –
Несомненно. Код в StackOverflow [находится под CC-BY-SA] (https://creativecommons.org/licenses/by-sa/3.0/) (см. [Здесь] (http://meta.stackexchange.com/a/12528)). Я лично поставил комментарий со ссылкой на ответ SO, если я скопирую код дословным и пост-новым версиям, если я его реорганизую. – wonderb0lt