At 03:46 PM 1/22/2006, Vincent Zee wrote:
>Why will this little program crash when you enter the enter key?

Thank you for including the "traceback" message in your 2nd post.

Index error means you tried to reference an element of a sequence 
that is not there. a is the empty string when you just hit enter to 
the raw_input request. It therefore has no elements, so a[0] raises 
the exception.

To avoid this test first for len(a) > 0.

>while True:
>     a = raw_input('number? ')
>     if a.isdigit():
>         print 'isdigit'
>     elif a[0] == '-' and a[1:].isdigit():
>         print '- + isdigit'
>     elif a == 'q':
>         break
>     else:
>         print 'no digit'

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to