Оператор return
не в нужном месте. Условия if/elif
не выполняются из-за возврата return
из функции перед ними. return
должно быть после logi c (if/elif
).
Кроме того, функция input()
возвращает строковый тип, но ваши условия if/elif
ожидают целое число. Это означает, что вы должны преобразовать вывод input()
в целое число с int()
.
Я рекомендую определить ветвь else
, если вход не равен 1-3. Как в моем примере ниже.
Правильный код:
def cSelection():
Selection = int(input("Write a number (1-3): ")) # Input cast to integer.
if Selection == 1 :
print('Oxygen levels are normal')
elif Selection == 2:
print('Fuel levels are at medium capacity')
elif Selection == 3:
print('Food is running low, request for new shipment')
else:
print("Wrong option")
return Selection
return_value = cSelection()
print("Return value of function: {}".format(return_value))
Вывод:
>>> python3 test.py
Write a number (1-3): 1
Oxygen levels are normal
Return value of function: 1
>>> python3 test.py
Write a number (1-3): 3
Food is running low, request for new shipment
Return value of function: 3
>>> python3 test.py
Write a number (1-3): 5
Wrong option
Return value of function: 5