-1
def cSelection():
    Selection = input()
    return Selection

    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')  
Austin
  • 25,759
  • 4
  • 25
  • 48
Rashid
  • 33
  • 2

1 Answers1

0

The return statement is not in right place. Your if/elif conditions don't running due to the return returns from the function before them. The return should be after the logic (if/elif).

Furthermore the input() function returns a string type but your if/elif contidions wait an integer. It means your should cast the output of input() to integer with int().

I recommend to define an else branch if the input is not 1-3. Like in my below example.

Correct code:

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))

Output:

>>> 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
milanbalazs
  • 4,811
  • 4
  • 23
  • 45