[sf-lug] ThinkPython: coding problem
Alex Kleider
a_kleider at yahoo.com
Sat Oct 11 07:13:51 PDT 2008
--- On Sat, 10/11/08, Asheesh Laroia <asheesh at asheesh.org> wrote:
> From: Asheesh Laroia <asheesh at asheesh.org>
> Subject: Re: [sf-lug] ThinkPython: coding problem
> To: "Linux userGroup" <sf-lug at linuxmafia.com>
> Date: Saturday, October 11, 2008, 1:40 AM
> On Fri, 10 Oct 2008, Alex Kleider wrote:
>
> > # ThinkPython: question-
> >
> > As part of our ThinkPython class exercises I want to
> > check user input.
> > i.e. the user is asked to enter a number and I want
> the routine
> > to check that it is indeed a number that is entered.
> > It seems that everything "collected" by
> raw_input is considered
> > a string, even if only digits are included.
>
> You can always convert a string to an int by doing:
>
> >>> inputted_thing = '3'
> >>> type(inputted_thing)
> <type 'str'>
> >>> as_number = int(inputted_thing)
> >>> type(as_number)
> <type 'int'>
>
> Note that this does no error checking. In Python you would
> typically do
> that with exceptions, and I don't think we've
> gotten there yet.
>
> -- Asheesh.
>
When I run the following program:
response=raw_input('Please enter a number: ')
response_as_number=int(response)
print type(response_as_number)
If the input is a letter rather than a digit, it crashes:
alex at ibmtp:~/Python/Ex$ python test_al
Please enter a number: p
Traceback (most recent call last):
File "test_al", line 2, in <module>
response_as_number=int(response)
ValueError: invalid literal for int() with base 10: 'p'
alex at ibmtp:~/Python/Ex$
It seems there is error checking going on.
More information about the sf-lug
mailing list