import pymysql
import random
import time
db = pymysql.connect(host="localhost", port=3306, user='root', password='564445', db='bank_system', charset='utf8')
cursor = db.cursor()
class Function(object):
# 开户(0)
def create_user(self):
print("\n-------------开户(0)-------------")
name = input("请输入您的姓名:")
idCard = int(input("请输入您的身份证号码:"))
phone = input("请输入您的电话号码:")
cardnumber = self.create_card_number()
password = self.set_password()
if password == -1:
print("创建失败!")
print("即将返回主界面!")
return -1
mysql1 = "insert into user values(%s, %s, %s, %s)"
cursor.execute(mysql1, (name, idCard, phone, cardnumber))
db.commit()
# 0表示卡没有被锁, 1表示卡被锁了
mysql2 = "insert into card values(%s, %s, %s, %s, %s)"
cursor.execute(mysql2, (cardnumber, password, 0, 0, 0))
db.commit()
print("尊敬的 %s 用户,您好!您的账户已创建成功!您的卡号是:%s" % (name, cardnumber))
print("即将返回主界面!")
# 随机生成6位卡号
def create_card_number(self):
while True:
cardnumber = ""
for i in range(6):
cardnumber += str(random.randrange(0, 10))
cursor.execute("select * from card where cardnumber = %s", cardnumber)
card = cursor.fetchone()
if card is None:
return cardnumber
# 设置密码
def set_password(self):
for i in range(4):
password1 = input("请输入您的密码:")
password2 = input("请再次输入您的密码:")
if password1 == password2:
return password1
if i == 3:
return -1
print("对不起,您两次输入的密码不一致,请重新输入!")
# 查询(1)
def query(self):
print("\n-------------查询(1)-------------")
cardnumber = input("请输入您的卡号:")
cursor.execute("select * from card where cardnumber = %s", cardnumber)
card = cursor.fetchone()
if card is None:
print("对不起, 您输入的卡号有误!")
print("即将返回主界面!")
elif card[3] == '1':
print("对不起,您的银行卡已被锁定!")
print("即将返回主界面!")
else:
cursor.execute("select * from user where cardnumber = %s", cardnumber)
data = cursor.fetchone()
cnt = 0
for i in range(3):
password = input("请您输入密码:")
if password == card[1]:
print("尊敬的 ", data[0], " 用户您好!")
print("您的余额为:", card[2])
de = input("是否打印明细表? 是(y/Y), 否(f/F):")
if de == 'y' or de == 'Y':
print(" -----------------------------------------------------------------------")
print(" 徐艺铭--招商银行 查询凭单 ")
print(" ")
print(" 余额:%s " % card[2])
print(" 账户名:%s " % data[0])
print(" 账号:%s " % card[0])
print(" 日期:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
print(" 开户行:******支行 ")
print(" 编号:", random.randint(10000000000, 99999999999), " ")
print(" ")
print(" -----------------------------------------------------------------------")
elif de == 'f' or de == 'F':
print("", end="")
break
else:
cnt += 1
if cnt == 3:
p = '1'
cursor.execute("update card set islock = %s where cardnumber = %s", (p, cardnumber))
db.commit()
print("您的银行卡已被锁定!")
print("即将返回主界面!")
return 0
else:
print("密码输入错误,请重新输入!")
# 存款(2)
def deposit(self):
print("\n-------------存款(2)-------------")
dec = input("定期存款按(d),活期存款按(h):")
if dec == "h":
cardnumber = input("请输入您的银行卡号:")
cursor.execute("select * from card where cardnumber = %s", cardnumber)
card = cursor.fetchone()
if card is None:
print("对不起,您输入的卡号有误!")
print("即将返回主界面!")
return -1
cursor.execute("select * from user where cardnumber = %s", cardnumber)
data = cursor.fetchone()
if card[3] == '1':
print("对不起,您的银行卡已被锁,无法存款!")
print("即将返回主界面!")
return -1
cnt = 0
save_money = ""
for i in range(6):
password = input("请输入您的密码:")
if password == card[1]:
print("尊敬的 ", data[0], " 用户您好!")
for j in range(4):
save_money = input("请输入您要存入的金额:")
if not save_money.isdigit():
if j == 3:
return 0
print("您输入的不是数字,请输入数字:")
continue
elif save_money.isdigit():
break
if float(save_money) < 0:
print("对不起,您输入的金额有误")
continue
money = str(float(card[2]) + float(save_money))
cursor.execute("update card set money = %s where cardnumber = %s", (money, cardnumber))
db.commit()
print("恭喜您!存款成功,当前账户可用余额为:%s 元" % money)
de = input("是否打印明细表? 是(y/Y), 否(f/F):")
if de == 'y' or de == 'Y':
print(" -----------------------------------------------------------------------")
print(" 徐艺铭--招商银行 汇款取款凭单 ")
print(" ")
print(" 存款金额:%s (活期存款) " % save_money)
print(" 存款人:%s " % data[0])
print(" 可用余额:%s " % money)
print(" 存款人账号:%s " % data[3])
print(" 日期:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
print(" 开户�
没有合适的资源?快使用搜索试试~ 我知道了~
基于python实现的银行系统源码(高分课程设计).zip
共14个文件
xml:7个
py:3个
pyc:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 115 浏览量
2024-01-15
23:04:54
上传
评论
收藏 24KB ZIP 举报
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程设计).zip基于python实现的银行系统源码(高分课程
资源推荐
资源详情
资源评论
收起资源包目录
基于python实现的银行系统源码(高分课程设计).zip (14个子文件)
code_20105
.idea
codeStyles
Project.xml 2KB
dbnavigator.xml 26KB
vcs.xml 180B
workspace.xml 15KB
misc.xml 185B
inspectionProfiles
Project_Default.xml 752B
modules.xml 270B
pycharm_1.iml 398B
bank_system
20191229221229bank_system.sql 3KB
main.py 2KB
backup.py 602B
function.py 48KB
__pycache__
function.cpython-37.pyc 26KB
main.cpython-37.pyc 1KB
共 14 条
- 1
资源评论
土豆片片
- 粉丝: 1827
- 资源: 5646
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JavaScript函数
- java-leetcode题解之Range Sum Query 2D - Mutable.java
- java-leetcode题解之Random Pick Index.java
- java-leetcode题解之Race Car.java
- java-leetcode题解之Profitable Schemes.java
- java-leetcode题解之Product of Array Exclude Itself.java
- java-leetcode题解之Prime Arrangements.java
- MCU51-51单片机
- java-leetcode题解之Power of Two.java
- java-leetcode题解之Power of Three.java
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功