Python for Everybody
Chapter 3
Exercise 3.1
"""
Exercise 3.1: Rewrite your pay computation to give the employee 1.5 times the
rate for hours worked above 40 hours.
Enter Hours: 45
Enter Rate: 10
Pay: 475.0
Python for Everybody: Exploring Data Using Python 3
by Charles R. Severance
Solution by Jamison Lahman, May 28, 2017
"""
pay = 0.0 # Initialize variables
input_hours = input('Enter Hours: ')
input_rate = input('Enter Rate: ')
hours = float(input_hours) # Only allows input floats
rate = float(input_rate) # Only allows input floats
if hours < 40:
pay = rate * hours # No overtime calculation
else:
overtime = hours - 40 # Calculate amount of overtime
pay = (rate * 40.0) + (1.5 * rate * overtime)
print('Pay: ', pay)
Exercise 3.2
"""
Exercise 3.2: Rewrite your pay program using try and except so that your
program handles non-numerical input gracefully by printing a message and
exiting the program. The folowing shows two executions of the program:
Enter Hours: 20
Enter Rate : nine
Error, please enter numeric input
Enter Hours: forty
Error, please enter numeric input
Python for Everybody: Exploring Data Using Python 3
by Charles R. Severance
Solution by Jamison Lahman, May 28, 2017
"""
hours = 0.0 # Initialize variables
rate = 0.0
pay = 0.0
input_hours = input('Enter Hours: ')
try:
hours = float(input_hours) # Only allows input floats
except ValueError:
print('Error, please enter numeric input')
quit()
input_rate = input('Enter Rate: ')
try:
rate = float(input_rate) # Only allows input floats
except ValueError:
print('Error, please enter numeric input')
quit()
if hours < 40:
pay = rate * hours # No overtime calculation
else:
overtime = hours - 40 # Calculate amount of overtime
pay = (rate * 40.0) + (1.5 * rate * overtime)
print('Pay: ', pay)
Exercise 3.3
"""
Exercise 3.3: Write a program to prompt for a score between 0.0 and 1.0. If the
score is out of range, print an error message. If the score is between 0.0 and
1.0, print a grade using the following table:
Score Grade
>= 0.9 A
>= 0.8 B
>= 0.7 C
>= 0.6 D
< 0.6 F
~~~
Enter score: perfect
Bad score
Enter score: 10.0
Bad score
Enter score: 0.75
C
Enter score: 0.5
F
Run the program repeatedly as shown above to test the various, different
values for input.
Python for Everybody: Exploring Data Using Python 3
by Charles R. Severance
Solution by Jamison Lahman, May 28, 2017
"""
score = 0.0 # Initialize variables
grade = ""
input1 = input('Enter score: ')
try:
score = float(input1) # Only allows input floats
except ValueError:
print('Bad score')
quit()
if 0.0 <= score <= 1.0: # Scores must be between 0.0 and 1.0
if score >= 0.9:
grade = 'A'
elif score >= 0.8:
grade = 'B'
elif score >= 0.7:
grade = 'C'
elif score >= 0.6:
grade = 'D'
else:
grade = 'F'
else:
grade = 'Bad score'
print(grade)