Bug asking for input number
python at mrabarnett.plus.com
Sat Nov 16 03:33:51 CET 2013
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)
> ones = int(res)
> # 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)
ones = int(res)
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:
res = input('Give me a number --> ')
if len(res) == 3 and res.isdigit() and abs(int(res) -
int(res)) >= 2:
More information about the Python-list