• python programming作业5


    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__())  

     

  • 相关阅读:
    【css】媒体查询(@media 查询)
    【angular】利用$scope.$apply() 按需要强制渲染前端页面
    【html】百度经常使用的 map标签
    【d2-admin】浅入了解 d2-admin之安装
    【web前端】谈谈浏览器的兼容性(面试题)
    【web性能优化】相关文章
    【web性能优化】DOM的reflow 和repaint
    【web性能优化】视频类优化(慕课网笔记)
    js高阶函数--判断数据类型、函数胡柯里化;
    js数组排序
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13270811.html
Copyright © 2020-2023  润新知