Как правильно встроить цикл while в данную функцию
Немного не понял, как правильно встроить цикл while в данную функцию, условия по циклу не выполняются и продолжения не следует, на этом работа всего кода останавливается
def get_position ():
position = input("Укажите Вашу должность 1; 2 ")
while type(position) != 1 and type(position) !=2:
try:
position = int(position)
except ValueError:
print('Ввели неправильно!')
position = input("Укажите Вашу должность 1; 2 ")
if position == 1:
SALARY = 37000
PIECE_RATE = 822
PAX_RATE = 800
INCENTIVE_RATE = 455
LANDING_RATE = 700
SAFETY_RATE = 454
else:
SALARY = 19000
PIECE_RATE = 653
PAX_RATE = 600
INCENTIVE_RATE = 340
LANDING_RATE = 422
SAFETY_RATE = 182
return (SALARY , PIECE_RATE, PAX_RATE, INCENTIVE_RATE, LANDING_RATE, SAFETY_RATE, position)
Ответы (2 шт):
Автор решения: Vladimir
→ Ссылка
Нашел проблему. Невнимательность.
while position != 1 and position !=2:
только теперь при неправильном указании, к примеру 4, код останавливается
Автор решения: Алексей Р
→ Ссылка
На мой взгляд, try/except здесь излишни, как и ряд других операций.
# ... предыдущий код
while True:
position = input("Укажите Вашу должность 1; 2 ")
if position in ('1', '2'):
position = int(position)
break
print('Ввели неправильно!')
# ... последующий код