编写银行员工类BankEmployee,要求:1.银行员工类的属性包括姓名name,工号num,工资salary
2.姓名name和工号num设置为私有属性,并将salay设置为默认参数3000。
测试输入:张飞
007
预期输出:
张飞领到这个月工资3000
请根据上述测试数据的输入输出情况,完善下面的代码:
class BankEmployee(): # 请在此处添加代码 # # *************begin************# # **************end*************# def main(): name = input() num = input() bankemployee = BankEmployee(name,num) bankemployee.get_salary() if __name__=="__main__": main()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
class BankEmployee():
def __init__(self, name, num):
self.__name = name
self.__num = num
self.salary = 3000
def get_salary(self):
print(f"{self.__name}领到这个月工资{self.salary}")
def main():
name = input()
num = input()
bankemployee = BankEmployee(name,num)
bankemployee.get_salary()
if __name__=="__main__":
main()
运行的结果是:
张飞
007
张飞领到这个月工资3000
在完成第1题的基础上,编写一个银行柜员类BankTeller,继承BankEmployee类,要求:
1.完善BankEmployee类,对私有属性name和num添加set方法和get方法以实现对私有属性的设置和获取
2.对工号的合法性进行检验,要求工号以字母s开头,如s678是合法工号,678不是合法工号
3.继承BankEmployee类,定义银行柜员类BankTeller类,其name属性和num属性和父类BankEmployee类相同,属性salary默认参数为2000.
测试输入:
张飞
007
预期输出:
工号以s开头
张飞领到这个月工资2000
工号以s开头
张飞 None
测试输入:
赵云
s009
预期输出:
赵云领到这个月工资2000
赵云 s009
请根据上述测试数据,完善下述程序代码:
class BankEmployee(): def __init__(self,name="",num="",salary=2000): self.__name = name self.__num = num self.salary = salary def get_salary(self): #定义领工资方法get_salary() print("%s领到这个月工资%d"%(self.__name,self.salary)) # 请在此处添加代码对name和num设置set/get方法 # # ************* begin ************# # ************** end *************# class BankTeller(BankEmployee): # 请在此处添加代码 # # *************begin************# # **************end*************# def main(): bankteller = BankTeller() name = input() num = input() bankteller.set_name(name) bankteller.set_num(num) bankteller.get_salary() print(bankteller.get_name(),bankteller.get_num()) if __name__=="__main__": main()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
class BankEmployee():
def __init__(self,name="",num="",salary=2000):
self.__name = name
self.__num = num
self.salary = salary
def get_salary(self): #定义领工资方法get_salary()
print("%s领到这个月工资%d"%(self.__name,self.salary))
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
def get_num(self):
return self.__num
def set_num(self, num):
self.__num = num
class BankTeller(BankEmployee):
def set_num(self, num):
if num[0] != 's':
print("工号以s开头")
self.__num = ''
else:
self.__num = num
def get_num(self):
if self.__num == '' or self.__num[0] != 's':
print("工号以s开头")
return None
return self.__num
def main():
bankteller = BankTeller()
name = input()
num = input()
bankteller.set_name(name)
bankteller.set_num(num)
bankteller.get_salary()
print(bankteller.get_name(),bankteller.get_num())
if __name__=="__main__":
main()
运行的结果是:
张飞
007
工号以s开头
张飞领到这个月工资2000
工号以s开头
张飞 None
赵云
s009
赵云领到这个月工资2000
赵云 s009