部分源代码:
# -*- coding: utf-8 -*-
#author :32301227, time:2024年1月1日11:12:06 version:1.0.0
import pandas as pd
def deleteID(userID):
#删除账户
print("--------------------------")
for i in df.index :
if df.at[i,"id"] == userID :
if df.at[i,"wallet"] != 0 :
print("余额尚不为 0 ,请先取款, 删除账户失败")
print("--------------------------")
return
else :
df.drop(index = i, inplace=True)
print("您的账户",userID,"已删除")
print("--------------------------")
return
def changeID(userID):
#修改账户ID
print("--------------------------")
newID = str(input("请输入新的账号: "))
if newID in df['id'].values:
print("该账号已存在,请输入一个新的账号")
return
for i in df.index :
if df.at[i,"id"] == userID:
df.loc[i,"id"] = newID
print("修改账号成功")
print("--------------------------")
break
return
def changePassword(userID):
#修改密码
print("--------------------------")
if userID not in df['id'].values:
print("该账号不存在")
return
newPassword = str(input("请输入新的密码: "))
checkPassword = str(input("请再次输入密码: "))
if newPassword == checkPassword :
for i in df.index :
if df.at[i,"id"] == userID:
df.loc[i,"password"] = newPassword
print("修改密码成功")
print("--------------------------")
return
else :
print("两次密码不一致,修改密码失败")
print("--------------------------")
return
def checkBalance(userID):
#实现余额查询功能
print("--------------------------")
for i in df.index :
if str(df.at[i,"id"]) == userID :
print("您的余额是 : " , df.at[i,"wallet"] , " 元")
print("--------------------------")
break
return
def withDraw(userID):
#取款
print("--------------------------")
userInput = int(input("请输入取款金额: "))
for i in df.index :
if df.at[i,"id"] == userID:
if float(df.at[i,"wallet"]) < float(userInput):
print("余额不足,取款失败")
print("--------------------------")
return
df.at[i,"wallet"] -= userInput # Subtract the withdrawal amount from the current balance
print("取款成功,您的余额是 : ", df.at[i,"wallet"], " 元")
print("--------------------------")
return
def deposite(userID):
#存款
print("--------------------------")
userInput = int(input("请存入: "))
for i in df.index :
if df.at[i,"id"] == userID:
df.at[i,"wallet"] += userInput # Add the deposit amount to the current balance
print("您已成功存入" , userInput , " 元 , 当前账户余额" , df.at[i,"wallet"] ," 元" )
print("--------------------------")
return
print("账号不存在,存款失败")
print("--------------------------")
return
def cardin():
#登录,账号密码校验
#成功则为账号,失败则为"0"
print("--------------------------")
userID = str(input("请输入你的学号: "))
if userID not in df['id'].values:
print("错误的账号或密码")
print("--------------------------")
return "0"
userPassword = str(input("请输入你的密码: "))
for i in df.index:
if str(df.at[i,"id"]) == str(userID) and userPassword == df.at[i,"password"]:
print("成功登录")
print("--------------------------")
return userID
print("错误的账号或密码")
print("--------------------------")
return "0"
def newUser():
#新建校园网账号
print("--------------------------")
newID = str(input("请输入你的学号: "))
if newID in df['id'].values:
print("该学号已存在,请输入一个新的学号")
return
newPassword = str(input("请设置一个密码: "))
checkPassword = str(input("请再次输入密码: "))
if newPassword == checkPassword:
df.loc[df.shape[0]] = [newID, newPassword, 0] # Add a new row to the DataFrame
print("新账号创建成功")
print("--------------------------")
return
else:
print("两次密码不一致,新账号创建失败")
print("--------------------------")
return
def checkAdmin():
#验证管理员账户
print("--------------------------")
adminPassword = "123456"
userInput = str(input("请输入管理员密码: "))
if userInput == adminPassword :
return True
print("管理员密码错误")
print("--------------------------")
return False
df = pd.read_excel("users.xlsx") #读取excel
flag = True
while(flag == True):
try :
while(True):
print("--------------------------")
print("[1] 新建账户")
print("[2] 登录账户&