Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #57094

Re: Error Testing

Date 2013-10-19 08:44 -0400
From Ned Batchelder <ned@nedbatchelder.com>
Subject Re: Error Testing
References <33549834-2f27-47f3-abea-eb3486909dec@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.1254.1382186691.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 10/19/13 8:23 AM, Scott Novinger wrote:
> Hello.
>
> I've written a program for my kids to calculate arc length.  I want to include some error testing for value types entered that are something other than integer values.
>
> My goal is to make sure that the value entered for the radius is an integer value.
>
> How could I rewrite this code to make sure I accomplish my goal of getting an integer value entered?  I know the construct is not correct.  I'm just learning how to program.
>
>      # Create the variable for radius, "radius".
>      print('Please enter the circle radius and press ENTER:')
>      radius = input()
>
>      # Check to make sure the entered value is an integer.
>      if type(radius) != type(int):
>          print('You must enter an integer value.')
>          print('Please enter the circle radius and press ENTER:')
>          radius = input()
>      else:
>          print('The radius you entered is: ' + radius)
>      
>      radius = int(radius)
>
> Thanks for your help. I'm using Python v3.2 for windows.
>
> Scott
Hi Scott, welcome!

This line doesn't do what you want:

     if type(radius) != type(int):

for a few reasons:  First, radius is the result of input(), so it is 
always a string, never an int.  Second, "int" itself is already a type, 
so type(int) is actually "class" (or something like it), not "int".

What you want is to know whether the string inputted can be properly 
converted to an int.  In Python, the way to do that is to try converting 
it, and be prepared for it to fail:

     try:
         radius = int(radius)
     except ValueError:
         print('You must enter an integer value.')

--Ned.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Error Testing Scott Novinger <scnovinger@gmail.com> - 2013-10-19 05:23 -0700
  Re: Error Testing Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-10-19 13:37 +0100
    Re: Error Testing Scott Novinger <scnovinger@gmail.com> - 2013-10-19 06:34 -0700
      Re: Error Testing Chris Angelico <rosuav@gmail.com> - 2013-10-20 00:42 +1100
      Re: Error Testing rusi <rustompmody@gmail.com> - 2013-10-19 09:22 -0700
        Re: Error Testing Chris Angelico <rosuav@gmail.com> - 2013-10-20 09:28 +1100
        Re: Error Testing Ned Deily <nad@acm.org> - 2013-10-19 15:46 -0700
        Re: Error Testing Chris Angelico <rosuav@gmail.com> - 2013-10-20 10:02 +1100
        Re: Error Testing Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-10-20 12:18 -0400
  Re: Error Testing Ned Batchelder <ned@nedbatchelder.com> - 2013-10-19 08:44 -0400
    Re: Error Testing Roy Smith <roy@panix.com> - 2013-10-19 08:57 -0400
      Re: Error Testing Chris Angelico <rosuav@gmail.com> - 2013-10-20 00:04 +1100
      Re: Error Testing Ned Batchelder <ned@nedbatchelder.com> - 2013-10-19 09:07 -0400
        Re: Error Testing Roy Smith <roy@panix.com> - 2013-10-19 09:09 -0400
      Re: Error Testing Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-10-19 14:19 +0100
  Re: Error Testing Chris Angelico <rosuav@gmail.com> - 2013-10-20 00:01 +1100
  Re: Error Testing David Robinow <drobinow@gmail.com> - 2013-10-19 14:08 -0400
  Re: Error Testing Tim Chase <tim@thechases.com> - 2013-10-19 13:31 -0500
  Re: Error Testing Terry Reedy <tjreedy@udel.edu> - 2013-10-19 15:50 -0400
  What's wrong with Windows Command Prompt (was Re: Error Testing) Terry Reedy <tjreedy@udel.edu> - 2013-10-19 16:35 -0400
  Re: What's wrong with Windows Command Prompt (was Re: Error Testing) Chris Angelico <rosuav@gmail.com> - 2013-10-20 09:15 +1100
  Re: Error Testing Chris Angelico <rosuav@gmail.com> - 2013-10-20 09:20 +1100
  Re: What's wrong with Windows Command Prompt (was Re: Error Testing) David Robinow <drobinow@gmail.com> - 2013-10-21 15:55 -0400
  Re: What's wrong with Windows Command Prompt (was Re: Error Testing) Tim Chase <python.list@tim.thechases.com> - 2013-10-21 15:29 -0500

csiph-web