Как правильно встроить цикл 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('Ввели неправильно!')
# ... последующий код
→ Ссылка