On 16/11/2013 02:15, Arturo B wrote:
Hi! I hope you can help me.
I'm writting a simple piece of code.
I need to keep asking for a number until it has all this specifications:
- It is a number
- It's lenght is 3
- The hundred's digit differs from the one's digit by at least two
My problem is that I enter a valid number like: 123, 321, 159, 346... and it
keeps asking for a valid number.
Here's mi code:
res = input('Give me a number --> ')
hundreds = int(res[0])
ones = int(res[2])
# checks if the user enters a valid number
while not res.isdigit() or not len(res) == 3 or abs(hundreds - ones) <= 2:
res = input('Enter a valid number --> ')
Thanks for help!
In the loop you're asking for the number but not doing the:
hundreds = int(res[0])
ones = int(res[2])
bit for it.
Also, after the number is entered for the first time, you're not
first checking its length or that it's a number.
It's probably easier just to use a break in a loop:
while True:
res = input('Give me a number --> ')
if len(res) == 3 and res.isdigit() and abs(int(res[0]) -
int(res[2])) >= 2:
break
--
https://mail.python.org/mailman/listinfo/python-list