zoukankan      html  css  js  c++  java
  • 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__())  

     

  • 相关阅读:
    常见的块级元素和行级元素
    CentOS 利用 yum 安装卸载软件常用命令
    MySQL 派生表(Derived Table) Merge Optimization
    MySQL中的两种临时表
    集中化管理平台 — Ansible 详解
    MySQL 错误码对照
    mysqldump 工具使用详解——参数选项
    git 命令参考手册
    XtraBackup 备份与恢复实例讲解
    XtraBackup 原理与安装
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13270811.html
Copyright © 2011-2022 走看看