[sf-lug] ThinkPython: coding problem

jim jim at well.com
Sat Oct 11 09:32:35 PDT 2008


   seems a good thing that we try stuff the 
"book" hasn't covered yet. no harm in trying, 
for one thing, and helpful in getting the 
thinking and experience started prior to 
reading the text--very helpful as with some 
prior experience, the reading is often more 
meaningful. 



On Sat, 2008-10-11 at 07:50 -0700, Jeff Bragg wrote:
> Actually, there's nothing stopping you from catching and responding to
> the built-in exceptions, too (except, of course, that you guys haven't
> covered exceptions yet).
> 
> On Sat, Oct 11, 2008 at 7:45 AM, Jeff Bragg <jackofnotrades at gmail.com>
> wrote:
>         It appears to me that it crashed due to a type clash.  I
>         suspect Asheesh was referring to user-defined exceptions to
>         catch this type of clash *before* trying to convert a string
>         to an integer (by sanity-checking the type of the input value,
>         for instance), thus allowing the program to choose to exit
>         gracefully (perhaps complaining to the user about the
>         non-numeric input first) or otherwise respond to the situation
>         without crashing.
>         
>         p.s.  Hope I'm not intruding on this thread.  I'm not in the
>         class, mainly because I'm already reasonably familiar with
>         both Python and software development (and because it's hard to
>         fit into my schedule).
>         
>         
>         
>         On Sat, Oct 11, 2008 at 7:13 AM, Alex Kleider
>         <a_kleider at yahoo.com> wrote:
>                 
>                 --- 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.
>                 
>                 
>                 
>                 
>                 
>                 
>                 
>                 _______________________________________________
>                 sf-lug mailing list
>                 sf-lug at linuxmafia.com
>                 http://linuxmafia.com/mailman/listinfo/sf-lug
>                 
>         
>         
> 
> 
> _______________________________________________
> sf-lug mailing list
> sf-lug at linuxmafia.com
> http://linuxmafia.com/mailman/listinfo/sf-lug





More information about the sf-lug mailing list