鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[课后作业] 第063讲:类和对象(VI)| 课后测试题及答案

  [复制链接]
发表于 2023-11-16 21:17:36 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-15 19:24:43 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-15 09:16:23 From FishC Mobile | 显示全部楼层
查看参考答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

匿名鱼油
匿名鱼油  发表于 2023-11-11 19:42:55
0.o
回复

使用道具 举报

发表于 2023-11-10 20:16:47 | 显示全部楼层
图一时之快
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-10 09:52:24 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-8 16:06:54 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-8 10:31:11 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-7 20:12:41 | 显示全部楼层
洋洋洋洋
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-7 16:56:05 | 显示全部楼层
动动手:
0、'''企业员工'''
class Person:
    name = ''
    job = ''
    grade = 0
    year = 0
    uid = 0
    def get_uid(self,inname):
        c = U.index(inname)
        print(f'工号:{U[c]}')
    def get_name(self,inuid):
        c = U.index(inuid)
        print(f'姓名:{N[c]}')
    def get_job(self,inuid):
        c = U.index(inuid)
        print(f'职位:{J[c]}')
    def get_grade(self,inuid):
        c = U.index(inuid)
        print(f'级别:{G[c]}')
    def get_year(self,inuid):
        c = U.index(inuid)
        print(f'工龄:{A[c]}')
    def salary(self):
        pass

class Employee(Person):
    def __init__(self,name,job,age,grade):
        self.name = name
        self.job = job
        self.age = age
        self.grade = grade
    def salary(self):
        return 3000 + 500 * self.grade + 50 * self.age

class Teamleader(Person):
    def __init__(self,name,job,age,grade):
        self.name = name
        self.job = job
        self.age = age
        self.grade = grade
    def salary(self):
        return 4000 + 800 * self.grade + 100 * self.age

class Manager(Person):
    def __init__(self,name,job,age,grade):
        self.name = name
        self.job = job
        self.age = age
        self.grade = grade
    def salary(self):
        return 5000 + 1000 * (self.grade + self.age)
   
N = []
J = []
G = []
A = []
U = []
S = []

def main():
    i = 10000
    j = 0
    while True:
        num = int(input('1.录入;2.查询;3.升级;4.降级;5.退出:'))
        if num == 1:            
            name = input('姓名:')
            job = input('职位(E.普通员工;T.组长;M.经理):')
            age = int(input('工龄:'))
            grade = int(input('级别:'))
            if job == 'E':
                while grade > 10:
                    grade = int(input('该职位最高级别为10,请重新输入:'))
                z = Employee(name,job,age,grade)
            elif job == 'T':
                while grade > 6:
                    grade = int(input('该职位最高级别为6,请重新输入:'))
                z = Teamleader(name,job,age,grade)
            elif job == 'M':
                while grade > 3:
                    grade = int(input('该职位最高级别为3,请重新输入:'))
                z = Manager(name,job,age,grade)
            S.append(z.salary())
            N.append(z.name)
            A.append(z.age)
            J.append(z.job)
            G.append(z.grade)
            U.append(i)
            i += 1
            print(S,N,A,J,G,U)
            print(f'录入成功!姓名:{N[j]},工号:{U[j]},薪资:{S[j]}')
            j += 1
            
        elif num == 2:
            num2 = int(input('1.员工查询;2.职位查询:'))
            if num2 == 1:
                uid = int(input('请输入工号:'))
                if U.count(uid) == 0:
                    print('该工号不存在!')
                    continue
                Person().get_name(uid)
                Person().get_job(uid)
                Person().get_grade(uid)
                Person().get_year(uid)
                if G[U.index(uid)] == 'E':
                    print('薪资:',Employee().salary())
                elif G[U.index(uid)] == 'T':
                    print('薪资:',Teamleader().salary())
                elif G[U.index(uid)] == 'M':
                    print('薪资:',Manager().salary())
            elif num2 == 2:
                jobin = input('职位(E.普通员工;T.组长;M.经理):')
                if J.count(jobin) == 0:
                    print('输入错误!')
                    continue
                if jobin == 'M':
                    c = J.count(jobin)
                    q = 0
                    print(f'目前经理共有{c}人')
                    while q < len(J):
                        if J[q] == 'M':                           
                            print(U[q],end = ' ')
                            print('-',end = ' ')
                            print(N[q])
                        q += 1
                elif jobin == 'T':
                    c = J.count(jobin)
                    q = 0
                    print(f'目前组长共有{c}人')
                    while q < len(J):
                        if J[q] == 'T':                           
                            print(U[q],end = ' ')
                            print('-',end = ' ')
                            print(N[q])
                        q += 1
                elif jobin == 'E':
                    c = J.count(jobin)
                    q = 0
                    print(f'目前普通员工共有{c}人')
                    while q < len(J):
                        if J[q] == 'E':                           
                            print(U[q],end = ' ')
                            print('-',end = ' ')
                            print(N[q])
                        q += 1
               
        elif num == 3:
            pass
        elif num == 4:
            pass
        elif num == 5:
            break
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-7 15:32:46 | 显示全部楼层
问答题:
0、对某些运算符或函数传入不同类型的参数,输出结果经过的操作也不同
1、根据实际情况调整输出
2、可以
3、一只鸟走起来像鸭子、游起来像鸭子、叫起来像鸭子,那么它就是鸭子
4、高内聚
5、不属于
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-6 21:19:48 | 显示全部楼层
继续加油
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-6 10:55:45 | 显示全部楼层
抄抄抄
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-11-5 14:38:32 | 显示全部楼层
63
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-1 19:04:38 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-28 16:29:55 | 显示全部楼层
aaaa
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-27 08:32:24 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-26 16:25:40 | 显示全部楼层
动手:
class Staff:
    uid_ori = 10000
    def __init__(self,name,job,grade,year,uid,salary):
        self.name=name
        self.job=job
        self.grade=grade
        self.year=year
        self.uid=uid
        self.salary=salary
class Enter:#录入
    # def __init__(self):
    #     self.uid_ori = 10000
    def get_name(self):
        self.name=input('姓名 :')
    def get_job(self):
        while True:
            self.job=input('职位(E.普通员工 T.组长 M.经理) :')
            if self.job!='E' and self.job!='T' and self.job!='M':
                print ('重新输入!')
                continue
            break
    def get_grade(self):
        while True:
            self.grade=input('级别 :')
            if self.grade.isalpha() or int(self.grade)<=0:
                print('重新输入!')
                continue
            if self.job=='E':
                if int(self.grade) >10:
                    print('该职位最高级别为10,重新输入!')
                    continue
                else:
                    break
            elif self.job=='T':
                if int(self.grade) > 6:
                    print('该职位最高级别为6,重新输入!')
                    continue
                else:
                    break
            elif self.job=='M':
                if int(self.grade) > 3:
                    print('该职位最高级别为3,重新输入!')
                    continue
                else:
                    break
    def get_year(self):
        while True:
            self.year=input('工龄 :')
            if self.year.isdecimal():
                break
            else:
                print('重新输入!')
    def get_uid(self):
        self.uid=Staff.uid_ori
        Staff.uid_ori+=1
    def salary(self):
        if self.job=='E':
            self.salary = 3000+500*int(self.grade)+50*int(self.year)
        if self.job=='T':
            self.salary = 4000+800*int(self.grade)+100*int(self.year)
        if self.job=='M':
            self.salary = 5000+1000*(int(self.grade)+int(self.year))

class Query:#查询
    def query(self):
        while True:
            query_judge = False
            query=input('1.员工查询 2.职位查询 3.返回 :')
            if query=='1':
                order_que = input('请输入工号 :')
                for item in staff_info:
                    if int(order_que) == item.uid:
                        print(f'姓名:{item.name}\n职位:{item.job}\n级别:{item.grade}\n'
                              f'工龄:{item.year}\n工资:{item.salary}')
                        query_judge = True
                        break
                if not query_judge:
                    print('该工号不存在!')
            elif query=='2':
                job_count = []
                order_que = input('请输入职位(E.普通员工 T.组长 M.经理) :')
                for item in staff_info:
                    if order_que == item.job:
                        job_count.append(item)
                print(f'目前该职位共 {len(job_count)} 人')
                for item in job_count:
                    print(f'{item.uid}--{item.name}')

            elif query == '3':
                break
            else:
                print('请重输')
class Promotion:#升职
    def promotion(self):
        while True:
            p_uid=input('请输入工号 :')
            if p_uid.isdecimal():
                for item in staff_info:
                    if int(p_uid) == item.uid:
                        print(f'{item.name},工号:{item.uid},'
                              f'当前职位{item.job}{item.grade},当前薪资:{item.salary}')
                        while True:
                            p_grade = input('请输入提升的级数 :')
                            if p_grade.isdecimal():
                                new_grade=int(p_grade) + int(item.grade) #暂时这样后期看是否需要转str
                                if item.job == 'E':
                                    if new_grade>10:
                                        item.job = 'T'
                                        item.grade = '1'
                                    else:
                                        item.grade=new_grade #这里也没转str
                                elif item.job == 'T':
                                    if new_grade > 6:
                                        item.job = 'M'
                                        item.grade = '1'
                                    else:
                                        item.grade = new_grade
                                else:
                                    if new_grade>3:
                                        print('升到顶了,再升就功高盖主了!')
                                        item.grade='3'
                                    else:
                                        item.grade=new_grade
                                if item.job == 'E':
                                    item.salary = 3000 + 500 * int(item.grade) + 50 * int(item.year)
                                if item.job == 'T':
                                    item.salary = 4000 + 800 * int(item.grade) + 100 * int(item.year)
                                if item.job == 'M':
                                    item.salary = 5000 + 1000 * (int(item.grade) + int(item.year))
                                print(f'{item.name},工号:{item.uid},'
                                      f'升级后的职位:{item.job}{item.grade},升级后的薪资:{item.salary}')
                                break
                            else:
                                print('重新输入提升的级数!')
                break
            else:
                print('重新输入工号!')
class Demoted: #降职
    def demoted(self):
        while True:
            d_uid=input('请输入工号 :')
            if d_uid.isdecimal():
                for item in staff_info:
                    if int(d_uid) == item.uid:
                        print(f'{item.name},工号:{item.uid},'
                              f'当前职位{item.job}{item.grade},当前薪资:{item.salary}')
                        while True:
                            p_grade = input('请输入降低的级数 :')
                            if p_grade.isdecimal():
                                new_grade=int(item.grade) - int(p_grade) #暂时这样后期看是否需要转str
                                if item.job == 'M':
                                    if new_grade <= 0:
                                        item.job = 'T'
                                        item.grade = '6'
                                    else:
                                        item.grade=new_grade #这里也没转str
                                elif item.job == 'T':
                                    if new_grade <= 0:
                                        item.job = 'E'
                                        item.grade = '10'
                                    else:
                                        item.grade = new_grade
                                else:
                                    if new_grade <= 0:
                                        print('降到底了,可以滚蛋了!')
                                        item.grade='1'
                                    else:
                                        item.grade=new_grade
                                if item.job == 'E':
                                    item.salary = 3000 + 500 * int(item.grade) + 50 * int(item.year)
                                if item.job == 'T':
                                    item.salary = 4000 + 800 * int(item.grade) + 100 * int(item.year)
                                if item.job == 'M':
                                    item.salary = 5000 + 1000 * (int(item.grade) + int(item.year))
                                print(f'{item.name},工号:{item.uid},'
                                      f'降级后的职位:{item.job}{item.grade},降级后的薪资:{item.salary}')
                                break
                            else:
                                print('重新输入降低的级数!')
                break
            else:
                print('重新输入工号!')


staff_info=[] #员工信息列表
def main():
    while True:
        order = input('1.录入 2.查询 3.升级 4.降级 5.退出 :')
        if order == '1':
            enter = Enter()
            enter.get_name()
            enter.get_job()
            enter.get_grade()
            enter.get_year()
            enter.get_uid()
            print(enter.uid)
            enter.salary()
            staff = Staff(enter.name, enter.job, enter.grade, enter.year, enter.uid, enter.salary)
            staff_info.append(staff)
            print(f'录入成功 ! 姓名:{staff.name},工号:{staff.uid},薪资:{staff.salary}')
            pass
        elif order == '2':
            query=Query()
            query.query()
        elif order == '3':
            promotion=Promotion()
            promotion.promotion()
        elif order == '4':
            demoted=Demoted()
            demoted.demoted()
        elif order == '5':
            break
        else:
            print('请重输!')
main()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-26 15:31:29 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-26 15:08:38 | 显示全部楼层
本帖最后由 FoolZenYin_甫寸 于 2023-10-30 15:53 编辑

0.只要符合调用的方法名,不管类长啥样都给调用运行多态在编程是一个非常重要的概念,它是指同一个运算符、函数或者对象在不同的场景下,具有不同的作用效果
1.只要符合调用的方法名,不管类长啥样都给调用运行提高代码的灵活性
2.可以的
3.有一只鸟他长得想鸭子,跟鸭子一样的翅膀和鸭子一样游泳,那么我们称之为鸭子
4.降低了耦合,因为只要方法属性名相同即可调用,那么更方便引用调用
5.不属于,如果是增加了字符串类型还能说明是的,属于函数层面的多态现象。
动动手
  1. #甫寸版权所有嘻嘻#
  2. class Base_info:
  3.     def __init__(self, name, job, grade, year, salary):
  4.         self.name = name
  5.         self.job = job
  6.         self.grade = grade
  7.         self.year = year
  8.         self.salary = salary
  9.         
  10. class Employee(Base_info):
  11.     def __init__(self, name, grade, year):
  12.         super().__init__(name, "E", grade, year, 3000 + 500 * int(grade) + 50 * int(year))
  13. class Teamleader(Base_info):
  14.     def __init__(self, name, grade, year):
  15.         super().__init__(name, "T", grade, year, 4000 + 800 * int(grade) + 100 * int(year))
  16. class Manager(Base_info):
  17.     def __init__(self, name, grade, year):
  18.         super().__init__(name, "M", grade, year, 5000 + 1000 * (int(grade) +   int(year)))
  19.    
  20. class Grade_checkMixin:
  21.     def grade_check(self, job, grade):
  22.         if job == "E":
  23.             if int(grade) > 10:
  24.                 print("超出等级!")
  25.             else:
  26.                 return "pass"
  27.         
  28.         if job == "T":
  29.             if int(grade) > 6:
  30.                 print("超出等级!")
  31.             else:
  32.                 return "pass"
  33.         
  34.         if job == "M":
  35.             if int(grade) > 3:
  36.                 print("超出等级!")
  37.             else:
  38.                 return "pass"

  39. class Program_funtion(Grade_checkMixin):
  40.     def __init__(self) :
  41.         self.uid = 10000
  42.         self.member_data = {}
  43.    
  44.     def intrance(self):
  45.         while True:
  46.             op = input("1.录入;2.查询;3.升级;4.降级;5.退出:")
  47.             if op == "1":
  48.                 self.check_in()
  49.             if op == "2":
  50.                 self.check_msg()
  51.             if op == "3":
  52.                 self.promotion()
  53.             if op == "4":
  54.                 self.degration()
  55.             if op == "5":
  56.                 break

  57.     def check_in(self):
  58.         name = input("姓名:")
  59.         job = input("职位(E.普通员工;T:组长;M:经理):")
  60.         year = input("工龄:")
  61.         grade = input("级别:")
  62.         while self.grade_check(job, grade) != "pass":
  63.             grade = input("请重新输入级别:")
  64.         if job == "E":
  65.             member = Employee(name, grade, year)
  66.         elif job == "T":
  67.             member = Teamleader(name, grade, year)
  68.         elif job == "M":
  69.             member = Manager(name, grade, year)
  70.         self.member_data[self.uid] = member
  71.         print(f"录入成功!姓名:{name},工号:{self.uid},薪资:{self.member_data[self.uid].salary}")
  72.         self.uid += 1
  73.         
  74.     def get_uid(self):
  75.         while True:
  76.             uid = int(input("请输入工号:"))
  77.             if uid not in self.member_data:
  78.                 print("该工号不存在!")
  79.             else:
  80.                 break
  81.         return uid
  82.    
  83.     def get_name(self, uid):
  84.         print(f"姓名:{self.member_data[uid].name}")
  85.    
  86.     def get_job(self, uid):
  87.         print(f"职位:{self.member_data[uid].job}")
  88.    
  89.     def get_grade(self, uid):
  90.         print(f"级别:{self.member_data[uid].grade}")
  91.    
  92.     def get_year(self, uid):
  93.         print(f"工龄:{self.member_data[uid].year}")
  94.    
  95.     def get_salary(self, uid):
  96.         print(f"薪资:{self.member_data[uid].salary}")
  97.    
  98.     def check_msg(self):
  99.         op_2 = input("1.员工查询;2.职位查询:")
  100.         if op_2 == "1":
  101.             uid = self.get_uid()
  102.             self.get_name(uid)
  103.             self.get_job(uid)
  104.             self.get_year(uid)
  105.             self.get_salary(uid)
  106.         if op_2 == "2":
  107.             op_3 = input("职位(E.普通员工;T:组长;M:经理):")
  108.             if op_3 == "E":
  109.                 count = 0
  110.                 for each in self.member_data:
  111.                     if self.member_data[each].job == "E":
  112.                         count += 1
  113.                 print(f"目前普通员工共有{count}人")
  114.                 for each in self.member_data:
  115.                     if self.member_data[each].job == "E":
  116.                         print(f"{each} - {self.member_data[each].name}")
  117.             elif op_3 == "T":
  118.                 count = 0
  119.                 for each in self.member_data:
  120.                     if self.member_data[each].job == "T":
  121.                         count += 1
  122.                 print(f"目前普通员工共有{count}人")
  123.                 for each in self.member_data:
  124.                     if self.member_data[each].job == "T":
  125.                         print(f"{each} - {self.member_data[each].name}")
  126.             if op_3 == "M":
  127.                 count = 0
  128.                 for each in self.member_data:
  129.                     if self.member_data[each].job == "M":
  130.                         count += 1
  131.                 print(f"目前普通员工共有{count}人")
  132.                 for each in self.member_data:
  133.                     if self.member_data[each].job == "M":
  134.                         print(f"{each} - {self.member_data[each].name}")
  135.            
  136.     def promotion(self):
  137.         pro_uid = int(input("请输入工号:"))
  138.         print(f"{self.member_data[pro_uid].name},工号:{pro_uid},当前职位:{self.member_data[pro_uid].job}{self.member_data[pro_uid].grade},当前薪资:{self.member_data[pro_uid].salary}")
  139.         rank_up = input("请输入需要增加的级数:")
  140.         if self.member_data[pro_uid].job == "E":
  141.             if int(self.member_data[pro_uid].grade) + int(rank_up) > 10:
  142.                 self.member_data[pro_uid].job = "T"
  143.                 self.member_data[pro_uid].grade = "1"
  144.                 old_salary = int(self.member_data[pro_uid].salary)
  145.                 self.member_data[pro_uid].salary = 4000 + 800 * int(self.member_data[pro_uid].grade) + 100 * int(self.member_data[pro_uid].year)
  146.                 print("升级成功!")
  147.                 print(f"{self.member_data[pro_uid].name},工号:{pro_uid},升级后职位:{self.member_data[pro_uid].job}{self.member_data[pro_uid].grade},升级后薪资:{self.member_data[pro_uid].salary}(+{self.member_data[pro_uid].salary - old_salary})")
  148.             else:
  149.                 self.member_data[pro_uid].grade = int(self.member_data[pro_uid].grade) + int(rank_up)
  150.                 old_salary = int(self.member_data[pro_uid].salary)
  151.                 self.member_data[pro_uid].salary = 3000 + 500 * int(self.member_data[pro_uid].grade) + 50 * int(self.member_data[pro_uid].year)
  152.                 print("升级成功!")
  153.                 print(f"{self.member_data[pro_uid].name},工号:{pro_uid},升级后职位:{self.member_data[pro_uid].job}{self.member_data[pro_uid].grade},升级后薪资:{self.member_data[pro_uid].salary}(+{self.member_data[pro_uid].salary - old_salary})")
  154.         
  155.         elif self.member_data[pro_uid].job == "T":
  156.             if int(self.member_data[pro_uid].grade) + int(rank_up) > 6:
  157.                 self.member_data[pro_uid].job = "M"
  158.                 self.member_data[pro_uid].grade = "1"
  159.                 old_salary = int(self.member_data[pro_uid].salary)
  160.                 self.member_data[pro_uid].salary = 5000 + 1000 * (int(self.member_data[pro_uid].grade) + int(self.member_data[pro_uid].year))
  161.                 print("升级成功!")
  162.                 print(f"{self.member_data[pro_uid].name},工号:{pro_uid},升级后职位:{self.member_data[pro_uid].job}{self.member_data[pro_uid].grade},升级后薪资:{self.member_data[pro_uid].salary}(+{self.member_data[pro_uid].salary - old_salary})")
  163.             else:
  164.                 self.member_data[pro_uid].grade = int(self.member_data[pro_uid].grade) + int(rank_up)
  165.                 old_salary = int(self.member_data[pro_uid].salary)
  166.                 self.member_data[pro_uid].salary = 4000 + 800 * int(self.member_data[pro_uid].grade) + 100 * int(self.member_data[pro_uid].year)
  167.                 print("升级成功!")
  168.                 print(f"{self.member_data[pro_uid].name},工号:{pro_uid},升级后职位:{self.member_data[pro_uid].job}{self.member_data[pro_uid].grade},升级后薪资:{self.member_data[pro_uid].salary}(+{self.member_data[pro_uid].salary - old_salary})")
  169.         
  170.         elif self.member_data[pro_uid].job == "M":
  171.             if int(self.member_data[pro_uid].grade) + int(rank_up) > 3:
  172.                 print("没得再升啦,再升你来当老板!")
  173.             else:
  174.                 self.member_data[pro_uid].grade = int(self.member_data[pro_uid].grade) + int(rank_up)
  175.                 old_salary = int(self.member_data[pro_uid].salary)
  176.                 self.member_data[pro_uid].salary = 5000 + 1000 * (int(self.member_data[pro_uid].grade) + int(self.member_data[pro_uid].year))
  177.                 print("升级成功!")
  178.                 print(f"{self.member_data[pro_uid].name},工号:{pro_uid},升级后职位:{self.member_data[pro_uid].job}{self.member_data[pro_uid].grade},升级后薪资:{self.member_data[pro_uid].salary}(+{self.member_data[pro_uid].salary - old_salary})")

  179.     def degration(self):
  180.         deg_uid = int(input("请输入工号:"))
  181.         print(f"{self.member_data[deg_uid].name},工号:{deg_uid},当前职位:{self.member_data[deg_uid].job}{self.member_data[deg_uid].grade},当前薪资:{self.member_data[deg_uid].salary}")
  182.         rank_down = input("请输入需要降级的级数:")
  183.         if self.member_data[deg_uid].job == "E":
  184.             if int(self.member_data[deg_uid].grade) - int(rank_down) <= 0:
  185.                 print("没得再降啦,再降只能炒掉啦!")
  186.             else:
  187.                 self.member_data[deg_uid].grade = int(self.member_data[deg_uid].grade) - int(rank_down)
  188.                 old_salary = int(self.member_data[deg_uid].salary)
  189.                 self.member_data[deg_uid].salary = 3000 + 500 * int(self.member_data[deg_uid].grade) + 50 * int(self.member_data[deg_uid].year)
  190.                 print("降级成功!")
  191.                 print(f"{self.member_data[deg_uid].name},工号:{deg_uid},降级后职位:{self.member_data[deg_uid].job}{self.member_data[deg_uid].grade},降级后薪资:{self.member_data[deg_uid].salary}(-{old_salary - self.member_data[deg_uid].salary})")
  192.         
  193.         elif self.member_data[deg_uid].job == "T":
  194.             if int(self.member_data[deg_uid].grade) - int(rank_down) <= 0:
  195.                 self.member_data[deg_uid].job = "E"
  196.                 self.member_data[deg_uid].grade = "10"
  197.                 old_salary = int(self.member_data[deg_uid].salary)
  198.                 self.member_data[deg_uid].salary = 3000 + 500 * 10 + 50 * int(self.member_data[deg_uid].year)
  199.                 print("降级成功!")
  200.                 print(f"{self.member_data[deg_uid].name},工号:{deg_uid},降级后职位:{self.member_data[deg_uid].job}{self.member_data[deg_uid].grade},降级后薪资:{self.member_data[deg_uid].salary}(-{old_salary - self.member_data[deg_uid].salary})")
  201.             else:
  202.                 self.member_data[deg_uid].grade = int(self.member_data[deg_uid].grade) - int(rank_down)
  203.                 old_salary = int(self.member_data[deg_uid].salary)
  204.                 self.member_data[deg_uid].salary = 4000 + 800 * int(self.member_data[deg_uid].grade) + 100 * int(self.member_data[deg_uid].year)
  205.                 print("降级成功!")
  206.                 print(f"{self.member_data[deg_uid].name},工号:{deg_uid},降级后职位:{self.member_data[deg_uid].job}{self.member_data[deg_uid].grade},降级后薪资:{self.member_data[deg_uid].salary}(-{old_salary - self.member_data[deg_uid].salary})")
  207.         
  208.         elif self.member_data[deg_uid].job == "M":
  209.             if int(self.member_data[deg_uid].grade) - int(rank_down) < 0:
  210.                 self.member_data[deg_uid].job = "T"
  211.                 self.member_data[deg_uid].grade = "6"
  212.                 old_salary = int(self.member_data[deg_uid].salary)
  213.                 self.member_data[deg_uid].salary = 4000 + 800 * 6 + 100 * int(self.member_data[deg_uid].year)
  214.                 print("降级成功!")
  215.                 print(f"{self.member_data[deg_uid].name},工号:{deg_uid},降级后职位:{self.member_data[deg_uid].job}{self.member_data[deg_uid].grade},降级后薪资:{self.member_data[deg_uid].salary}(-{old_salary - self.member_data[deg_uid].salary})")
  216.             else:
  217.                 self.member_data[deg_uid].grade = int(self.member_data[deg_uid].grade) - int(rank_down)
  218.                 old_salary = int(self.member_data[deg_uid].salary)
  219.                 self.member_data[deg_uid].salary = 5000 + 1000 * (int(self.member_data[deg_uid].grade) + int(self.member_data[deg_uid].year))
  220.                 print("降级成功!")
  221.                 print(f"{self.member_data[deg_uid].name},工号:{deg_uid},降级后职位:{self.member_data[deg_uid].job}{self.member_data[deg_uid].grade},降级后薪资:{self.member_data[deg_uid].salary}(-{old_salary - self.member_data[deg_uid].salary})")
  222.   
  223. def main():
  224.     p = Program_funtion()
  225.     p.intrance()

  226. main()
复制代码

点评

学习上一节用课后作业用列表储存数据,答案用了类的属性来储存,这节倒反过来了  发表于 2023-10-30 15:57
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-8-21 20:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表