Issue converting to string to integer.
Dan Stromberg
drsalists at gmail.com
Sun Jun 2 21:44:02 EDT 2013
On Sun, Jun 2, 2013 at 6:12 PM, Fdama <fsdama at gmail.com> wrote:
> Hi,
>
> I was following an exercise in a book when I edited the code and came
> across something I did not get. Here is the relevant part of the code that
> works:
>
> start=None #initialise
> while start !="":
> start=input("\nStart: ")
>
> if start:
> start=int(start)
> finish=int(input("Finish: "))
>
> print("word[",start,":",finish,"] is", word[start:finish])
>
> I then changed the code to this:
>
> start=None #initialise
> while start !="":
> start=int(input("\nStart: "))
>
> if start:
>
> finish=int(input("Finish: "))
>
> print("word[",start,":",finish,"] is", word[start:finish])
>
> I combined the int conversion and the input on the same line, rather than
> to have two different statements. But got an error message:
>
> Traceback (most recent call last):
> File "C:\Users\Faisal\Documents\python\pizza_slicer.py", line 23, in
> <module>
> start=int(input("\nStart: "))
> ValueError: invalid literal for int() with base 10: ''
>
Converting an empty string to base 10 doesn't fly, so if you hit a blank
line on the input(), you get a bad conversion. In the first version,
you're only converting to base 10 if the string is non-empty. In the
second, you're attempting to convert irrespective.
BTW, I'm partial to:
if not start:
continue
...but that's a stylistic thing.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130602/8a31460c/attachment.html>
More information about the Python-list
mailing list