# -*- 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表示录入结束\n").split()
else:
ID,name,age,salary = input("请输入职员信息,ID为0表示录入结束\n").split()
if ID == '':
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__())

 

python programming作业5的更多相关文章

  1. python programming作业10(仍有一点点小bug)

    # -*- coding: utf-8 -*- import os import platform import sys from PyQt5.QtCore import * from PyQt5.Q ...

  2. python programming作业11 Qt designer (打地鼠,不是很完美)

     不导包的代码 from PyQt5 import QtCore, QtGui, QtWidgets import sys from PyQt5.QtWidgets import QApplicati ...

  3. 开始 python programming第三版案例分析

    最近研究python,打算将python programming第三版案例分析下 但是全书1600多页 比较费时 而且 介绍太多 感觉没有必要! python programming 堪称经典之作 第 ...

  4. Python——plot可视化数据,作业8(python programming)

    subject1k和subject1v的形状相同 # -*- coding: utf-8 -*- import scipy.io as sio raw_K = sio.loadmat('Subject ...

  5. Python——python读取html实战,作业7(python programming)

    查看源码,观察html结构 # -*- coding: utf-8 -*- from lxml.html import parse from urllib.request import urlopen ...

  6. Python——python读取xml实战,作业6(python programming)

    cd_catalog.xml <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Edited ...

  7. Python——作业12(选做)选中矩阵的每行或每列画出对应的折线图(python programming)

    import os import platform import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5 ...

  8. Python——GUI编程 利息计算器 作业9(python programming)

    import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class ...

  9. python综合作业要求

    要求: 1.课程成绩数据(学号尾数为0,1同学完成) 至少要完成内容:分析每年不同班级平均成绩情况.不同年份总体平均成绩情况.不同性别学生成绩情况,并用一定图表展示. 2.集美大学各省录取分数数据(学 ...

随机推荐

  1. Python的方法和语法解释

    ---------------------------------------------------------------------------------------------------- ...

  2. maven 总结整理(二)——download source code

    当我们用maven下载jar包时,有时希望下载jar包的源代码,此时可以在pom.xml文件中,进行设置. <build>    <finalName>WebProject&l ...

  3. 逍遥大佬分享mysql知识

    设计表规则: 0),数据库名字以db_开始,编码UTF8 1),表名都以tb_开始 2),字段都是用小写,比如是否删除is_delete 3),表都是innodb,utf8格式的 4),最重要的,表名 ...

  4. 【BZOJ4552】【TJOI2016】【HEOI2016】排序

    经验还是不够…… 原题: 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对 ...

  5. sofa graphql 2 rest api框架

    sofa 是一个出发点不一样的工具,提供了从graphql 2 rest 的处理,一般现有的框架都在 关注的是rest 2 graphql (大部分还是基于swagger.open api 标准进行设 ...

  6. Unity3D中常用的数据结构 学习

    Array 1.数组存储在连续的内存上. 2.数组的元素都是相同类型或者类型的衍生类型 3.数组可以直接通过下标访问 ArrayList 1.不必在声明ArrayList时指定它的长度,这是由于Arr ...

  7. extundelete

    http://extundelete.sourceforge.net/options.html 误删除/usr/share目录因此考虑恢复目录过程如下:1.选用extundelete软件来进行恢复,源 ...

  8. 我发起了一个 支持 PostgreSql 的 外围设施 的 .Net 开源项目

    目标 :  让 PostgreSql 成为 通用的 跨平台 的 数据库 , 成为 开发者 喜爱 的 利器 . 要做的事 , 当然 , PostgreSql 本身现在不用我们去做什么 . 一个 数据库 ...

  9. [转]Java GC的原理

    Java GC(garbage collection,垃圾收集,回收) GC是对JVM中的内存进行标记和回收,Sun公司的JDK用的虚拟机都是HotSpot 对象化的实例是放在heap堆内存中的,这里 ...

  10. django csrf使用教程,解决Forbidden (403)CSRF verification failed. Request aborted.

    Django版本号:1.11.15 django中post请求报错:Forbidden (403)CSRF verification failed. Request aborted. HelpReas ...