Difference between revisions of "CSC111 Lab 9 2015"
(→preparation) |
(→preparation) |
||
Line 31: | Line 31: | ||
<center>[[Image:Lab9Exception1.png|500px]]</center> | <center>[[Image:Lab9Exception1.png|500px]]</center> | ||
<br /> | <br /> | ||
+ | * Modify your function and add code that will '''catch the exception''': | ||
+ | <br /> | ||
+ | ::<source lang="python" highlight="6-9"> | ||
+ | # getInput: returns an integer larger | ||
+ | # than 0. Expected to be robust | ||
+ | def getInput(): | ||
+ | x = int( input( "Enter a positive (or null) int: " ) ) | ||
+ | while x < 0: | ||
+ | try: | ||
+ | x = int( input( "Invalid number: Please try again: " ) ) | ||
+ | except ValueError: | ||
+ | print( "Invalid entry. Try again!" ) | ||
+ | return x | ||
− | + | </source> | |
<!-- /showafterdate --> | <!-- /showafterdate --> |
Revision as of 07:20, 29 March 2015
--D. Thiebaut (talk) 07:14, 29 March 2015 (EDT)
Exceptions
preparation
- Create a new program called lab9_1.py, and copy this code to the new Idle window.
# getInput: returns an integer larger # than 0. Expected to be robust def getInput(): x = int( input( "Enter an integer larger than 0: " ) ) while x <= 0: x = int( input( "Invalid number: Please try again: " ) ) return x def main(): num = getInput() print( "You have entered", num ) main()
- Test it with numbers such as -3, -10, 0, 5. Verify that the input function works well when you enter numbers.
- Test your program again, and this time enter expressions such as "6.3", or "hello" (without the quotes).
- Make a note of the Error reported by Python:
- Modify your function and add code that will catch the exception:
# getInput: returns an integer larger # than 0. Expected to be robust def getInput(): x = int( input( "Enter a positive (or null) int: " ) ) while x < 0: try: x = int( input( "Invalid number: Please try again: " ) ) except ValueError: print( "Invalid entry. Try again!" ) return x