Blakester
Blakester

Reputation: 99

How to sucsessfully ask the user to choose between two options

New programmer here

I'm trying to ask the user to choose between two options but I just can't get it right.

inp = int(input())
while inp != 1 or inp != 2:
    print("You must type 1 or 2")
    inp = int(input())
if inp == 1:
    print("hi")
if inp == 2:
    print("ok")
    quit()

Even if I enter 1 or 2 when I ask initially it still spits back "You must must type 1 or 2"

My end goal is if they enter 1, to continue the program while if they choose 2 it will end the program. Thanks for any help.

Upvotes: 2

Views: 23629

Answers (3)

Anonymous
Anonymous

Reputation: 31

inp = input("Choose 1 or 2 ")
if inp == "1":
    print("You chose one")
    # whatevercodeyouwant_1()
elif inp == "2":
    print("You chose two")
    # whatevercodeyouwant_2()
else:
    print("You must choose between 1 or 2")

or if you want them to stay here until they choose 1 or 2:

def one_or_two():
    inp = input("Choose 1 or 2")
    if inp == "1":
        print("You chose one")
        # whatevercodeyouwant_1()
    elif inp == "2":
        print("You chose two")
        # whatevercodeyouwant_2()
    else:
        print("You must choose between 1 or 2")
        return one_or_two()
one_or_two()

This might not be the most elegant solution but it's a different approach than the "while" loop.

Upvotes: 3

Ajay A
Ajay A

Reputation: 1068

Try this

inp = ''
valid_inputs = [1,2,3,4]
output = {1: 'hi', 2:'hello', 3: 'Hey', 4: 'Bye'}
while inp not in valid_inputs:
    inp = input("Enter 1 or 2 or 3 or 4: ")
    if inp not in valid_inputs:
        print("You must type 1 or 2 or 3 or 4")

print(output[inp])

Upvotes: 0

Andrew Lamarra
Andrew Lamarra

Reputation: 537

Just work with strings. If you need to turn the "inp" variable into an integer, don't wrap the int() function around input(), wrap the variable itself (i.e. int(inp) ). Also, change the ORs to ANDs:

inp = ""
while inp != "1" and inp != "2":
    inp = input("Enter 1 or 2: ")
    if inp != "1" and inp != "2":
        print("You must type 1 or 2")

if inp == "1":
    print("hi")
if inp == "2":
    print("ok")

Upvotes: 2

Related Questions