# -*- 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. c++——数据结构

    1.写一个函数PrintN,使得传入一个N,打印从1到N的全部整数 #include<stdio.h> //循环实现 void PrintN(int N){ int i; ;i<=N ...

  2. spring管理

    spring管理 SqlMapConfig.xml: <?xml version="1.0" encoding="UTF-8"?> <bean ...

  3. Linux下安装搜狗拼音输入法

    1.安装 下面命令即可完成安装: sudo apt-add-repository ppa:fcitx-team/nightly sudo apt-get update sudo apt-get ins ...

  4. 学习笔记TF014:卷积层、激活函数、池化层、归一化层、高级层

    CNN神经网络架构至少包含一个卷积层 (tf.nn.conv2d).单层CNN检测边缘.图像识别分类,使用不同层类型支持卷积层,减少过拟合,加速训练过程,降低内存占用率. TensorFlow加速所有 ...

  5. webpack中hash、chunkhash、contenthash区别

    webpack中对于输出文件名可以有三种hash值: 1. hash 2. chunkhash 3. contenthash 这三者有什么区别呢? hash 如果都使用hash的话,因为这是工程级别的 ...

  6. 黑马-Spring与数据库

    Spring与数据库 Spring与jdbc 引入dataSource 在客户端 模板编程 类的结构图, 真正干活的是JdbcTemplate(底层实现,操作 excute方法) JdbcTempla ...

  7. doubleclick video notes

    1,vast duration it must math this format ,if use “00:00:7 ”  it will tip “ ” <Duration>00:00:0 ...

  8. 10 Rules of Highly Successful Project Management

    I commited the information below to report PDU of PMI. ^_^. In this paper, the author introduces his ...

  9. mysql为int类型的字段php取出来之后为何变为string类型?

    https://segmentfault.com/q/1010000002957162 php从mysql取出int数据,变成了string https://blog.csdn.net/as17501 ...

  10. 第一个appium的Demo

    原文来自:一颗糖果  http://www.cnblogs.com/linglingyuese/articles/8418311.html 一.环境搭建 略(后期补) 二.创建一个测试apk包的项目 ...