<div dir="ltr">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.<br>
<br>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).<br>
<br><div class="gmail_quote">On Sat, Oct 11, 2008 at 7:13 AM, Alex Kleider <span dir="ltr"><<a href="mailto:a_kleider@yahoo.com">a_kleider@yahoo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
--- On Sat, 10/11/08, Asheesh Laroia <<a href="mailto:asheesh@asheesh.org">asheesh@asheesh.org</a>> wrote:<br>
<br>
> From: Asheesh Laroia <<a href="mailto:asheesh@asheesh.org">asheesh@asheesh.org</a>><br>
> Subject: Re: [sf-lug] ThinkPython: coding problem<br>
> To: "Linux userGroup" <<a href="mailto:sf-lug@linuxmafia.com">sf-lug@linuxmafia.com</a>><br>
> Date: Saturday, October 11, 2008, 1:40 AM<br>
<div class="Ih2E3d">> On Fri, 10 Oct 2008, Alex Kleider wrote:<br>
><br>
> > # ThinkPython: question-<br>
> ><br>
> > As part of our ThinkPython class exercises I want to<br>
> > check user input.<br>
> > i.e. the user is asked to enter a number and I want<br>
> the routine<br>
> > to check that it is indeed a number that is entered.<br>
> > It seems that everything "collected" by<br>
> raw_input is considered<br>
> > a string, even if only digits are included.<br>
><br>
> You can always convert a string to an int by doing:<br>
><br>
> >>> inputted_thing = '3'<br>
> >>> type(inputted_thing)<br>
> <type 'str'><br>
> >>> as_number = int(inputted_thing)<br>
> >>> type(as_number)<br>
> <type 'int'><br>
><br>
> Note that this does no error checking.  In Python you would<br>
> typically do<br>
> that with exceptions, and I don't think we've<br>
> gotten there yet.<br>
><br>
> -- Asheesh.<br>
><br>
<br>
</div>When I run the following program:<br>
<br>
response=raw_input('Please enter a number: ')<br>
response_as_number=int(response)<br>
print type(response_as_number)<br>
<br>
If the input is a letter rather than a digit, it crashes:<br>
<br>
alex@ibmtp:~/Python/Ex$ python test_al<br>
Please enter a number: p<br>
Traceback (most recent call last):<br>
  File "test_al", line 2, in <module><br>
    response_as_number=int(response)<br>
ValueError: invalid literal for int() with base 10: 'p'<br>
alex@ibmtp:~/Python/Ex$<br>
<br>
It seems there is error checking going on.<br>
<div><div></div><div class="Wj3C7c"><br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
sf-lug mailing list<br>
<a href="mailto:sf-lug@linuxmafia.com">sf-lug@linuxmafia.com</a><br>
<a href="http://linuxmafia.com/mailman/listinfo/sf-lug" target="_blank">http://linuxmafia.com/mailman/listinfo/sf-lug</a><br>
</div></div></blockquote></div><br></div>