Reputation: 17
integer1 = eval(input('Enter the first integer between -10 and 10: '))
integer2 = eval(input('Enter the second integer between -10 and 10: '))
while (integer1 >= 10 or integer1 <= -10):
replace1 = eval(input('Integer 1 is invalid, Please enter a valid number: '))
while (integer2 > 10 or integer2 < -10):
replace2 = input('Integer2 is invalid, Please enter a valid number: ')
Upvotes: 1
Views: 47
Reputation: 8335
I think this what you expected:
integer1 = eval(input('Enter the first integer between -10 and 10: '))
integer2 = eval(input('Enter the second integer between -10 and 10: '))
while (integer1 >= 10 or integer1 <= -10):
integer1 = eval(input('Integer 1 is invalid, Please enter a valid number: '))
while (integer2 > 10 or integer2 < -10):
integer2 = input('Integer2 is invalid, Please enter a valid number: ')
Since the value of integer1 is not changed in first while loop it will act as a infinite loop
Instead of eval you could use int()
since there are some harmful effect on using eval
stick with int
Modified:
integer1 = int(input('Enter the first integer between -10 and 10: '))
integer2 = int(input('Enter the second integer between -10 and 10: '))
while (integer1 >= 10 or integer1 <= -10):
integer1 = int(input('Integer 1 is invalid, Please enter a valid number: '))
while (integer2 > 10 or integer2 < -10):
integer2 = int(input('Integer2 is invalid, Please enter a valid number: '))
Upvotes: 1
Reputation: 184395
while (integer1 >= 10 or integer1 <= -10):
replace1 = eval(input('Integer 1 is invalid, Please enter a valid number: '))
You never change integer1
, so if the condition is true, it is always true and it loops forever.
Assign to integer1
rather than replace1
. Similarly for the second.
Upvotes: 1