admin管理员组文章数量:1647982
【开发该软件的操作系统】:windows10
【软件开发环境/开发工具】:PyCharm
【编程语言】:Python
【开发目的】:这是老师布置的作业啦~ 供初学者参考学习
【开发者】:江西农业大学2020级大二学生
题目要求:
创建一个Account类来模拟一台ATM机,创建一个有10个账户的列表,其id为0-9,并初始化收支为100美元。系统提示用户输入一个id,如果输入的id不正确,要求输入正确的id,如果正确显示主菜单,1:支出,3:收钱,3:存钱;4:退出。一旦退出,系统需要重新输入id。
我的代码:
listId = [100]
listId = listId * 10
class Account:
def prinTable(self):
print("1 支 出")
print("2 收 钱")
print("3 存 钱")
print("4 查 询")
print("5 退 出")
def test(self, lix):
while 1:
INumber = int(input("请输入你的ID:"))
if 0 <= INumber <= 9:
numb1 = 0
while numb1 != 5:
self.prinTable()
numb1 = int(input("请输入你的选择:"))
if numb1 == 1:
tem1 = float(input("请输入支出金额:"))
lix[INumber] = lix[INumber] - tem1
elif numb1 == 2:
tem1 = float(input("请输入收入金额:"))
lix[INumber] = lix[INumber] + tem1
elif numb1 == 3:
tem1 = float(input("请输入存钱金额:"))
lix[INumber] = lix[INumber] + tem1
elif numb1 == 4:
print("您的余额为:", lix[INumber])
a1 = Account()
a1.test(listId)
结果如下:
老师代码:
class Account:
def __init__(self):
self.accounts = {} #账户字典:卡号做关键字,余额作为值
for i in range(0,10): # 初始化所有账户
self.accounts[i] = 100
self.currentId = -1 # 当前插入的卡的卡号,-1表明现在ATM上没有插卡
# 插卡,id:插入卡的卡号
def check(self,id):
if id in self.accounts: # 插入的卡是账户字典中的卡,正确的卡进行操作
self.currentId = id # 记录插入的卡的卡号
return True # True表明插入的卡是正确的卡
else:
return False # False:插入的不是正确的卡
# 存钱操作 ,amount参数就是存钱的金额
# True:表明存钱成功
def save(self,amount):
result = False
if amount < 0:
print("你存钱的金额不正确")
elif self.currentId == -1:
print("你还没有输入你的账户id,正确登录ATM系统")
else:
self.accounts[self.currentId] += amount
result = True
return result
# 取钱
def take(self,amount):
result = False
if amount < 0 :
print("你取款的金额不正确")
elif self.currentId == -1:
print("你还没有输入你的账户id正确登录ATM系统")
elif amount > self.accounts[self.currentId]:
print("账户金额不足")
else:
self.accounts[self.currentId] -= amount
result = True
return result
atm = Account() # 创建ATM对象
id = int(input("请输入你的账号id进入ATM系统:"))
if atm.check(id):
while True:
print("*********ATM系统**********")
print("1、存钱\n2、取钱\n3、查询\n4、退出")
func = int(input("请输入你要进行的操作(1,2,3,4):"))
if func == 1:
amount = float(input("请输入你要存钱的金额:"))
if atm.save(amount):
print("存钱成功")
elif func == 2:
amount = float(input("请输入你要取钱的金额:"))
if atm.take(amount):
print("取钱成功")
elif func == 3:
print("你的账户余额是:",atm.accounts[atm.currentId])
else:
break
print("退出ATM系统,再见")
结果如下:
原文链接:
Python创建一个Account类来模拟一台ATM机,创建一个有10个账户的列表,其id为0-9,并初始化收支为100美元。
共同进步,祝大家学有所成!
版权声明:本文标题:Python创建一个Account类来模拟一台ATM机,创建一个有10个账户的列表,其id为0-9,并初始化收支为100美元。 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729495909a1202907.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论