风变编程课后习题答案
- 不用修改代码,直接运行即可,尝试多输入几次非数字
print(’\n欢迎使用除法计算器!\n’)
while True:
try:
x = input(‘请你输入除数:’)
y = input(‘请你输入被除数:’)
z = float(x)/float(y)
print(x,’/’,y,’=’,z)
print(x/y)
break # 默认每次只计算一次,所以在这里写了 break。
except ZeroDivisionError: # 当被除数为0时,跳出提示,重新输入。
print(‘0是不能做除数的!’)
except ValueError: # 当除数或被除数中有一个无法转换成浮点数时,跳出提示,重新输入。
print(‘除数和被除数都应该是整值或浮点数!’)
2.第12关作业1
创建一个人事系统类
class hrSystem:
# 创建存储员工名字的变量 name
name = ‘’
# 创建存储员工工资的变量 salary
salary = 0
# 创存储员工绩效的变量 kpi
kpi = 0
# 定义录入员工信息的类方法
@classmethod
def record(cls, name, salary, kpi):
cls.name = name
cls.salary = salary
cls.kpi = kpi
# 定义打印员工信息的类方法
@classmethod
def print_record(cls):
if cls.check_name(): # 以 cls.check_name() 的返回值(0或1)作为判断条件。
print(cls.name + ‘的工作信息如下:’)
print(‘本月工资:’ + str(cls.salary))
print(‘本年绩效:’ + str(cls.kpi))
# 定义根据 kpi 评奖的类方法
@classmethod
def kpi_reward(cls):
if cls.kpi > 95:
print(‘恭喜’ + cls.name + ‘拿到明星员工奖杯!’)
终端(输入完毕后请按回车键)
12.1
创建一个人事系统类
class hrSystem:
# 创建存储员工名字的变量 name
name=‘bob’
# 创建存储员工工资的变量 salary
salary=10000
# 创建存储员工绩效的变量 kpi
kpi=100
# 定义录入员工信息的类方法
@classmethod
def record(cls, name, salary, kpi):
cls.name=name
cls.salary=salary
cls.kpi=kpi
# 定义打印员工信息的类方法
@classmethod
def print_record(cls):
if cls.check_name(): # 以 cls.check_name() 的返回值(0或1)作为判断条件。
print(cls.name + ‘的工作信息如下:’)
print(‘本月工资:’ + str(cls.salary))
print(‘本年绩效:’ + str(cls.kpi))
@classmethod
def kpi_reword(cls):
if cls.kpi>95:
print(‘恭喜%s拿到明星员工奖杯’%(cls.name))
elif 80<=kpi and kpi<=95:
print(‘恭喜%s拿到优秀员工奖杯’%(cls.name))
else:
print(‘很遗憾%s这次没有评上奖杯,希望来年努力工作,勇创佳绩!’%(cls.name))
@classmethod
def check_name(cls):
list=[‘bob’,‘candy’,‘jony’,‘jony’]
if cls.name in list:
print(‘录入正确’)
return 1
else:
print(‘录入错误!%s不是本公司员工’%(cls.name))
hrSystem.print_record()
hrSystem.kpi_reword()