#1.用户注册
def register():
uname = input('输入用户名[注册]:')
password = input('输入密码[注册]:')
yue = 1000
isok = True
for us in users:
if uname == us[0]:
print('用户名已存在')
isok = False
break
if isok == True:
users.append([uname, password, yue, []])
print(f'恭喜注册成功\n{users}')
#2.用户登录
def login():
uname = input('输入用户名[登录]:')
password = input('输入密码[登录]:')
isok = False # 定义False为未登录状态
global ix # 定义-1未一个不存在的索引号,便于后续在列表中搜索元素
for i in range(0, len(users)):
if uname == users[i][0] and password == users[i][1]:
print('登录成功')
isok = True
ix = i
break
if isok == True:
print(f'恭喜{users[ix][0]}登录蜗牛银行'.center(40, '='))
service()
else:
print('登录失败,账户或密码错误')
#3.查看余额
def balance():
print(f'用户<<{users[ix][0]}>>的余额为:{users[ix][2]}元')
#6.取款
def withdraw():
money = int(input('请输入取款金额:'))
if money > users[ix][2]:
print(f'余额不足,当前余额{users[ix][2]}元')
print('请选择业务菜单'.center(40, '='))
else:
users[ix][2] = users[ix][2] - money
today = datetime.datetime.today().strftime('%y-%m-%d %H:%M:%S')
print(f'取款{money}元,当前余额:{users[ix][2]}元,{today}')
users[ix][3].append(f'{today},取款{money}元')
#4.存款
def save():
money = int(input('请输入存款金额:'))
users[ix][2] = users[ix][2] + money
today = datetime.datetime.today().strftime('%y-%m-%d %H:%M:%S')
print(f'存款{money}元,当前余额:{users[0][2]}元,{today}')
users[ix][3].append(f'{today},存款{money}元')
#5.转帐
def transfer():
uname = input('请输入需要转账的用户名:')
isok = True
for n in range(len(users)):
if uname == users[n][0] and uname != users[ix][0]:
money = int(input('请输入需要转账的金额:'))
password = input('请输入转账密码:')
if money > int(users[ix][2]) and password == users[ix][1]: # 判断转账金额小于余额
print('转账金额大于账户余额,转账失败')
elif money <= int(users[ix][2]) and password == users[ix][1]: # 判断转账金额大于余额
today = datetime.datetime.today().strftime('%y-%m-%d %H:%M:%S')
print(f'转账成功,{users[ix][0]}账户支出{money}元,当前账户余额为{users[ix][2] - money}元,{today}')
print(f'收款成功,{users[n][0]}账户收款{money}元,当前账户余额为{users[n][2]+money}元,{today}')
users[ix][3].append(f'{today},向{uname}转账{money}元')
users[n][3].append(f'{today},{users[ix][0]}向你转账{money}元')
else:
print('转账密码错误,请重新输入')
isok = True
break
else:
print('用户不存在,请重新输入')
#6.打印流水
def stream():
uname = input('请输入用户名:')
password = input('请输入密码:')
if uname == users[ix][0] and password == users[ix][1]:
today = datetime.datetime.today().strftime('%y-%m-%d %H:%M:%S')
print(f'{today},流水情况如下:\n{users[ix][3]}')
else:
print('账户密码错误,请重新输入')
import datetime
users=[ ["小张","111",3000,['2022-06-24 15:16:00 取款500元','2022-06-24 18:01 存取1000元']] ,["小刘","222",2000,[]]]
ix=-1
#1.开始界面
def start():
print('欢迎来到蜗牛ATM'.center(40, '*'))
while True:
print('请选择操作菜单'.center(40, '*'))
print('1.登录\t2.注册\t3.退卡'.center(36, '*'))
num = int(input('请输入你的操作选项:'))
if num == 1:
print('用户登录'.center(40, '-'))
login()
elif num == 2:
print('用户注册'.center(40, '-'))
register()
elif num == 3:
print('请收好卡片,欢迎下次使用')
break
else:
print('输入无效,请重新选择')
#2.业务界面
def service():
while True:
print('请选择业务菜单'.center(40, '='))
print(f'1.查余额\t2.存款\t3.取款\t4.转账\t5.查看流水\t6.返回')
num1=int(input('请输入业务编号:'))
if num1 == 1:
print('1.查余额'.center(40, '-'))
balance()
elif num1 == 2:
print('2.存款'.center(40, '-'))
save()
elif num1 == 3:
print('3.取款'.center(40, '-'))
withdraw()
elif num1 == 4:
print('4.转账'.center(40, '-'))
transfer()
elif num1 == 5:
print('5.查看流水'.center(40, '-'))
stream()
elif num1 == 6:
print('6.返回'.center(40, '-'))
break
else:
print('输入无效,请重新选择')
if __name__ == '__main__':
start() #开始界面
# service() #业务界面
# register() #用户注册
# login() #用户登录
# balance() #查看余额
# withdraw() #取款
# save() #存款
# transfer() #转账
# stream() #打印流水