Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #57094
| 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) |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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