PY4E exercise chapter3

  • Exercise 1: Rewrite your pay computation to give the employee 1.5 times the hourly rate for hours worked above 40 hours.

Enter Hours: 45
Enter Rate: 10
Pay: 475.0

hours=input('Enter Hours: ')
rate=input('Enter Rate: ')
fhours=float(hours)
frate=float(rate)
if fhours>40:
    jiben=fhours*frate
    duozen=(fhours-40)*(frate*0.5)
    pay=jiben+duozen
else:
    pay=fhours*frate
print('Pay:',pay)
  • Exercise 2: Rewrite your pay program using try and except so that your program handles non-numeric input gracefully by printing a message and exiting the program. The following 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

hours=input('Enter Hours: ')
rate=input('Enter Rate: ')
try:
    fhours=float(hours)
    frate=float(rate)
except:
  print('Error,please enter numeric input')
  quit()
print(fhours,frate)
if fhours>40:
    jiben=fhours*frate
    duozen=(fhours-40)*(frate*0.5)
    pay=jiben+duozen
else:
    pay=fhours*frate
print('Pay:',pay)
  • Exercise 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

score=input('Enter score:')
try:
    fscore=float(score)
except:
    print('Bad score')
    quit()
if fscore<0 or fscore>1:
    print('Bad score')
    quit()
if fscore>=0.9:
    print('A')
elif fscore>=0.8:
    print('B')
elif fscore>=0.7:
    print('C')
elif fscore>=0.6:
    print('D')
else:
    print('F')

1 范围之外的if之后的那个quit是有必要的,不写的话,如果是10,会先print雏Bad score,再print出A来。(还是有什么办法解决掉这个问题?_ ?
2 范围之外的测试用try无解,虽然结果都是要出来Bad score,但是用try会直接出来A,好尴尬= =

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值