python programming作业5
# -*- coding: utf-8 -*-
class ageError(Exception):
pass
class salaryError(Exception):
pass
class staff:
def __init__(self,ID,name,age,salary):
self.ID = ID
self.name = name
self.age = age
self.salary = salary
def change(self,num,value):
if num == 0:
self.ID = value
elif num == 1:
self.name = value
elif num == 2:
self.age = value
elif num == 3:
self.salary = value
def __str__(self):
describe = "ID为"+str(self.ID)+"的职员"+str(self.name)+",年龄为"+str(self.age)+",薪水每月"+str(self.salary)+"$"
return describe
def check(self):
is_ok = True
try:
self.ID = int(self.ID)
except ValueError:
is_ok = False
print("错误!输入的ID不是整数!")
try:
self.age = int(self.age)
if self.age <0 or self.age >100:
raise ageError
except ValueError:
is_ok = False
print("错误!输入的年龄不是整数!")
except ageError:
is_ok = False
print("错误!输入的年龄不合法!")
try:
self.salary = float(self.salary)
if self.salary <0:
raise salaryError
except ValueError:
is_ok = False
print("错误!输入的薪水不是一个数!")
except salaryError:
is_ok = False
print("错误!输入的薪水不合法!")
return is_ok
cys = staff(1,'蔡军帅',18,0)
cys.change(3,88888888)
if cys.check():
print(cys.__str__())
allStaff=[]
allStaff.append(cys)
repeat = False
while True:
if repeat:
ID,name,age,salary = input("请重新输入职员信息,ID为0表示录入结束
").split()
else:
ID,name,age,salary = input("请输入职员信息,ID为0表示录入结束
").split()
if ID == '0':
print("录入结束")
break
new_person = staff(ID,name,age,salary)
if new_person.check():
print("正确,正在录入信息......")
print("录入成功!")
print(new_person.__str__())
allStaff.append(new_person)
repeat = False
else:
repeat = True
print("所有职工信息如下:")
for person in allStaff:
print(person.__str__())
【angular】利用$scope.$apply() 按需要强制渲染前端页面
【html】百度经常使用的 map标签
【d2-admin】浅入了解 d2-admin之安装
【web前端】谈谈浏览器的兼容性(面试题)
【web性能优化】相关文章
【web性能优化】DOM的reflow 和repaint
【web性能优化】视频类优化(慕课网笔记)
js高阶函数--判断数据类型、函数胡柯里化;
js数组排序
- 最新文章
-
C++(十六) — 类中引用成员函数、命名空间的使用
C++(十五) — sizeof 运算符
Python(0)—多线程与多进程
Python(2)—List、Set、Tuple、Dictionary之间的区别、参数传递
C++(十四) — 常用快捷键总结
Deep Learning(Ian Goodfellow) — Chapter2 Linear Algebra
Deep Learning(Ian Goodfellow) — Chapter1 Introduction
论文笔记 — L2-Net: Deep Learning of Discriminative Patch Descriptor in Euclidean Space
论文笔记 — MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
python之numpy的基本使用