Python - Repeating Code With A While Loop
So here is my question. I have a chunk of input code that I need to repeat in case the input is wrong. So far this is what I have (note that this is just an example code, the actua
Solution 1:
As alluded by umutto, you can use a while
loop. However, instead of using a break
for each valid input, you can have one break at the end, which you skip on incorrect input using continue
to remain in the loop. As follows
while True:
input_var_1 = input("select input (1, 2 or 3): ")
if input_var_1 == ("1"):
print ("you selected 1")
elif input_var_1 == ("2"):
print ("you selected 2")
elif input_var_1 == ("3"):
print ("you selected 3")
else:
print ("please choose valid option")
continue
break
I also cleaned up a few other syntax errors in your code. This is tested.
Solution 2:
A much effective code will be
input_values=['1','2','3']
while True:
input_var_1 = input("select input (1, 2 or 3): ")
if input_var_1 in input_values:
print ("your selected input is "+input_var_1)
break
else:
print ("Choose valid option")
continue
I suggested this answer because I believe that python is meant to do a job in minimalistic code.
Solution 3:
Like mani's solution, except the use of continue
was redundant in this case.
Also, here I allow int() float() or string() input which are normalized to int()
while 1:
input_var_1 = input("select input (1, 2, or 3): ")
if input_var_1 in ('1','2','3',1,2,3):
input_var_1 = int(input_var_1)
print 'you selected %s' % input_var_1
break
else:
print ("please choose valid option")
Post a Comment for "Python - Repeating Code With A While Loop"