#python
#python
Вопрос:
Я написал код, используя цикл while. Однако я успешно написал код, но он неэффективен. Пожалуйста, посмотрите цикл while: —
struct_type = { 1:'slab', 2:'beam', 3:'column', 4:'footing' }
z = int(input("Enter the structure type as 1-slab,2-beam,3-column,4-footing"))
while (z != 1 and z != 2 and z != 3 and z != 4):
print("Invalid Structure type")
z = int(input("Enter only: 1-slab,2-beam,3-column,4-footing"))
print(z)
Как написать этот цикл while более эффективно?
Например
while (z != [1, 2, 3, 4]):
или
while (z != range(1:5)):
Но оба они дают ошибки.
пожалуйста, помогите в написании этого цикла while более эффективно.
Комментарии:
1. Вы имели в виду:
while z not in [1,2,3,4]:
?
Ответ №1:
Просто сравните с ограничениями:
while z < 1 or z > 4:
Ответ №2:
Вы можете использовать while z not in range(1, 5)
довольно эффективный ( in
проверки в объектах диапазона — O (1)).
Вы также можете сделать while z not in struct_type
, поскольку 1..4
являются ключами struct_type
. Это также O(1) .
Ответ №3:
Я думаю, вы ищете in
предложение.
while z not in [1,2,3,4]: