#python #loops
#питон #петли
Вопрос:
после того, как я наберу 5, он продолжит цикл и не доберется до оператора if
def facility(): global user while user != 1 and user != 2 and user != 3 and user != 4: user =input("please choose between this four number. n[1/2/3/4]n") if user == 1: y = ("PBl Classroom") elif user == 2: y = ("meeting room") elif user == 3: y =("Workstation Computer Lab,ITMS") elif user == 4: y = ("swimming pool") print("you have choose",y) user = int(input("please choose your facility..n "))
Ответ №1:
Вы используете int(input(...))
при первом вызове, но input(...)
в функции. Таким образом, значения являются строками, а не целыми числами, и ваши сравнения будут неудачными.
Вот исправление с незначительными улучшениями:
def facility(): user = int(input("please choose your facility..n ")) while user not in (1,2,3,4): user = int(input("please choose between this four number. n[1/2/3/4]n")) if user == 1: y = ("PBl Classroom") elif user == 2: y = ("meeting room") elif user == 3: y =("Workstation Computer Lab,ITMS") elif user == 4: y = ("swimming pool") print("you have chosen", y) facility()