# -*- coding: utf-8 -*-
"""
Created on Sat May 6 20:16:34 2023
@author: 北辰远_code
I love python.快乐每一天!
"""
import csv
import datetime
# 创建账户
def create_account():
while True:
account = input("请输入账户名:")
password = input("请输入密码:")
balance = input("请输入初始余额:")
if not account or not password or not balance:
print("账户名、密码和初始余额不能为空!")
else:
with open("accounts.csv", "a", newline="") as f:
writer = csv.writer(f)
writer.writerow([account, password, balance])
print("账户创建成功!")
break
# 登录
def login():
account = input("请输入账户名:")
password = input("请输入密码:")
with open("accounts.csv", "r") as f:
reader = csv.reader(f)
for row in reader:
if row[0] == account and row[1] == password:
print("登录成功!")
return account, float(row[2])
print("账户名或密码错误!")
return None, None
# 存钱
def deposit(account, balance):
amount = input("请输入存款金额:")
try:
amount = int(amount)
if amount <= 0 or amount%100 != 0:
print("无效金额!")
return balance
balance += amount
date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open(f"{account}.csv", "a", newline="") as f:
writer = csv.writer(f)
writer.writerow([date, "存款", amount, balance])
print("存款成功!")
return balance
except ValueError:
print("无效金额!")
return balance
# 取钱
def withdraw(account, balance):
amount = input("请输入取款金额:")
try:
amount = int(amount)
if amount <= 0 or amount > balance or amount%100 != 0:
print("无效金额!")
return balance
balance -= amount
date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open(f"{account}.csv", "a", newline="") as f:
writer = csv.writer(f)
writer.writerow([date, "取款", amount, balance])
print("取款成功!")
return balance
except ValueError:
print("无效金额!")
return balance
# 查看余额
def check_balance(balance):
print(f"当前余额为:{balance}")
# 查看存款和取款记录
def check_records(account):
with open(f"{account}.csv", "r") as f:
reader = csv.reader(f)
for row in reader:
print(row)
# 主函数
def main():
while True:
print("1. 创建账户")
print("2. 登录")
print("3. 存钱")
print("4. 取钱")
print("5. 查看余额")
print("6. 查看存款和取款记录")
print("0. 退出")
choice = input("请选择功能:")
if choice == "1":
create_account()
elif choice == "2":
account, balance = login()
if account:
while True:
print(f"当前余额为:{balance}")
print("1. 存钱")
print("2. 取钱")
print("3. 查看余额")
print("4. 查看存款和取款记录")
print("0. 退出")
choice = input("请选择功能:")
if choice == "1":
balance = deposit(account, balance)
elif choice == "2":
balance = withdraw(account, balance)
elif choice == "3":
check_balance(balance)
elif choice == "4":
check_records(account)
elif choice == "0":
break
else:
print("无效选择!")
elif choice == "0":
break
else:
print("无效选择!")
if __name__ == "__main__":
main()
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
这个项目是一个基于Python开发的ATM存取款机模拟系统。它包含以下功能:用户可以注册账号,注册信息会被存储在文件中,信息包含存取状态、存取金额和存取日期。用户可以登录系统,存取整百元钞票,取出整百元钞票,查询余额和历史记录(包括存取日期和金额)。用户也可以退出系统。 这个项目是一个基于Python开发的ATM存取款机模拟系统。它包含以下功能:用户可以注册账号,注册信息会被存储在文件中,信息包含存取状态、存取金额和存取日期。用户可以登录系统,存取整百元钞票,取出整百元钞票,查询余额和历史记录(包括存取日期和金额)。用户也可以退出系统。 该系统完整模拟了ATM机的全部功能,如有疑问或者技术交流加文档中QQ。
资源推荐
资源详情
资源评论
收起资源包目录
ATM存取款机模拟.rar (6个子文件)
ATM存取款机模拟
A北辰远_codeQQ 二维码.png 95KB
XATM
accounts.csv 30B
002.csv 115B
001.csv 77B
money cash.py 4KB
XATM存取款机演示.mp4 54.4MB
共 6 条
- 1
资源评论
- m0_572248232023-12-28#完美解决问题 #运行顺畅 #内容详尽 #全网独家 #注释完整
北辰远_code
- 粉丝: 344
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功