Python银行取款系统

简介: 请你编写一个银行取款系统程序,要求具备以下几点功能。

一、系统说明

请你编写一个银行取款系统程序,要求具备以下几点功能。


1.开户业务

一个证件号码只可以绑定一个账号,系统首先验证用户证件号码,

如证件已在系统存在则不提供开户业务。


2.登陆系统

用户通过账号和密码登录系统,验证通过进入系统进行操作。


3.存款业务

用户登陆系统后,选择存款业务,即可以将输入的存款金额存入相应的账户。


4.取款业务

用户登陆系统后,选择取款业务,即可以将输入的取款金额从相应的账户取出,

如取款金额大于当前存款金额提示账户余额不足。


5.查询业务

用户登陆系统后,可以选择查询业务,查询账户余额。


6.转账业务

用户登陆系统后,可以选择转账业务,进行转账。收款账号必须是系统已经存在的账户。


7.修改密码

用户登陆系统后,可以选择修改密码业务,进行密码修改。


8.注销业务

用户登陆系统后,可以选注销业务,注销完成自动退出操作。


9.退出系统

如用户各类业务办理完成或无业务需求,可选择退出系统操作。


二、用户信息

{
    "123001": [
        "111111",
        "小新",
        "12130001",
        13000
    ],
    "123002": [
        "222222",
        "风间",
        "12130002",
        21000
    ],
    "123006": [
        "666666",
        "雯雯",
        "123006",
        12000
    ],
    "123008": [
        "888888",
        "闻闻",
        "12130008",
        12000
    ],
    "123003": [
        "333333",
        "妮妮",
        "12130003",
        12000
    ]
}

三、取款系统

import json
import time
obtain = open('bank_customers.json', 'r', encoding='utf-8')
data = json.loads(obtain.read())
Business_types = '''************************************
1.存款业务     2.取款业务     3.查询业务
4.修改密码     5.转账业务     6.注销业务
7.退出系统
************************************'''
while True:
    operation = input('请您选择操作选项(1.登录系统 2.开通账户 3.退出系统):')
    if operation == '1':
        account = input('请您输入银行账号:')
        password = input('请您输入银行密码:')
        if account in data and password == data[account][0]:
            print('密码正确,登录成功')
            while True:
                times = time.strftime("%Y年%m月%d日 %H:%M:%S", time.localtime())
                print('*' * 36)
                print(' ' * 10 + '欢迎使用漫漫取款系统')
                print('*' * 36)
                time.sleep(0.5)
                print('当前时间:{}'.format(times))
                time.sleep(0.5)
                print(Business_types)
                business = input('请您选择需要办理业务:')
                if business == '1':
                    print('您的存款余额是:{}'.format(data[account][3]))
                    deposit = int(input('请您输入存款金额:'))
                    data[account][3] = data[account][3] + deposit
                    time.sleep(0.5)
                    print('存款成功,您的余额是:{}'.format(data[account][3]))
                    time.sleep(0.5)
                    continues = input('是否需要继续办理业务(1.继续 2.退出):')
                    if continues == '2':
                        print('欢迎下次使用')
                        break
                elif business == '2':
                    print('您的存款余额是:{}'.format(data[account][3]))
                    withdrawals = int(input('请您输入取款金额:'))
                    if withdrawals <= data[account][3]:
                        data[account][3] = data[account][3] - withdrawals
                        time.sleep(0.5)
                        print('取款成功,您的余额是:{}'.format(data[account][3]))
                    else:
                        print('取款失败,余额不足')
                    time.sleep(0.5)
                    continues = input('是否需要继续办理业务(1.继续 2.退出):')
                    if continues == '2':
                        print('欢迎下次使用')
                        break
                elif business == '3':
                    print('您的个人信息是:')
                    print('用户姓名:{}'.format(data[account][1]))
                    print('证件号码:{}'.format(data[account][2]))
                    print('存款余额:{}'.format(data[account][3]))
                    time.sleep(0.5)
                    continues = input('是否需要继续办理业务(1.继续 2.退出):')
                    if continues == '2':
                        print('欢迎下次使用')
                        break
                elif business == '4':
                    while True:
                        continues = input('是否需要继续办理业务(1.继续 2.退出):')
                        if continues == '1':
                            pass_input = input('请您输入原密码:')
                            if pass_input == password:
                                new_password = input('请您输入新的密码:')
                                data[account][0] = new_password
                                time.sleep(0.5)
                                print('修改成功,新密码为:{}'.format(data[account][0]))
                                time.sleep(0.5)
                                break
                            else:
                                print('密码错误,请您核实!')
                        elif continues == '2':
                            break
                elif business == '5':
                    print('您的账户余额是:{}'.format(data[account][3]))
                    transfer = input('请您输入转账账号:')
                    if transfer == account:
                        print('对不起,自己不能给自己转账')
                        time.sleep(0.5)
                        continues = input('是否需要继续办理业务(1.继续 2.退出):')
                        if continues == '2':
                            print('欢迎下次使用')
                            break
                    else:
                        if transfer in data:
                            withdrawals = int(input('请您输入转账金额:'))
                            if withdrawals <= data[account][3]:
                                data[transfer][3] = data[transfer][3] + withdrawals
                                data[account][3] = data[account][3] - withdrawals
                                time.sleep(0.5)
                                print('转账成功,您的余额是:{}'.format(data[account][3]))
                            else:
                                print('转账失败,余额不足')
                        else:
                            print('您输入的账号不存在')
                        time.sleep(0.5)
                        continues = input('是否需要继续办理业务(1.继续 2.退出):')
                        if continues == '2':
                            print('欢迎下次使用')
                            break
                elif business == '6':
                    cancellation = input('是否需要注销账号(1.注销 2.取消):')
                    if cancellation == '1':
                        del data[account]
                        time.sleep(0.5)
                        print('账号注销成功')
                        break
                    else:
                        continues = input('是否需要继续办理业务(1.继续 2.退出):')
                        if continues == '2':
                            print('欢迎下次使用')
                            break
                elif business == '7':
                    print('欢迎下次使用')
                    break
        else:
            if account not in data:
                print('账号错误,登录失败')
            else:
                print('密码错误,登录失败')
                back = input('是否需要找回密码(1.需要 2.退出):')
                if back == '1':
                    name = input('请您输入用户姓名:')
                    identity = input('请您输入证件号码:')
                    if data[account][1] == name and data[account][2] == identity:
                        new_password = input('请您输入新的密码:')
                        data[account][0] = new_password
                        time.sleep(0.5)
                        print('重置密码成功')
                    elif data[account][1] != name and data[account][2] == identity:
                        print('输入姓名有误')
                    elif data[account][1] == name and data[account][2] != identity:
                        print('输入姓名有误')
                    else:
                        print('姓名和证件号码有误')
                elif back == '2':
                    print('欢迎下次使用')
    elif operation == '2':
        while True:
            choose = input('是否继续操作(1.继续 2.退出):')
            if choose == '1':
                certificate = []
                for i in data:
                    certificate.append(data[i][2])
                account = input('请您输入证件号码:')
                if account not in certificate:
                    card = input('请您输入用户卡号:')
                    password = input('请您输入用户密码:')
                    name = input('请您输入用户姓名:')
                    money = input('是否需要存款(1.需要 2.不存)')
                    if money == '1':
                        deposit = int(input('请您输入存入金额:'))
                        data[card] = [password, name, account, deposit]
                    else:
                        data[card] = [password, name, account, 0]
                    time.sleep(0.5)
                    print('您的账户信息是账号:{}、密码:{}、姓名:{}、证件号码:{}、存款:{}'
                          .format(card, data[card][0], data[card][1], data[card][2], data[card][3]))
                    time.sleep(3)
                else:
                    for i in data:
                        if data[i][2] == account:
                            print('不好意思您输入的证件号码已经绑定银行账号:{}。'.format(i))
            elif choose == '2':
                break
    elif operation == '3':
        break
print('欢迎您下次继续使用漫漫取款系统')
data = dict(sorted(data.items(), key=lambda x: x[0]))
save = open('bank_customers.json', 'w', encoding='utf-8')
json.dump(data, save, ensure_ascii=False, indent=4)

3d78081aa0e7dfac75bbf3cef5c142f1_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5ryr5q2l5qGU55Sw,size_20,color_FFFFFF,t_70,g_se,x_16.png

3a22377add6265f00f9c334efbad043d_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5ryr5q2l5qGU55Sw,size_20,color_FFFFFF,t_70,g_se,x_16.png

74415d8a0fdbe25948f333252d2b8e12_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5ryr5q2l5qGU55Sw,size_20,color_FFFFFF,t_70,g_se,x_16.png

相关文章
|
1月前
|
机器学习/深度学习 数据可视化 搜索推荐
基于python的汽车数据可视化、推荐及预测系统
本研究围绕汽车数据可视化、推荐及预测系统展开,结合大数据与人工智能技术,旨在提升用户体验与市场竞争力。内容涵盖研究背景、意义、相关技术如 Python、ECharts、协同过滤及随机森林回归等,探讨如何挖掘汽车数据价值,实现个性化推荐与智能预测,为汽车行业智能化发展提供支持。
|
29天前
|
存储 安全 数据管理
基于python的在线考试系统
本系统基于Python开发,旨在通过信息化手段提升各行业数据管理效率。系统具备良好的安全性、稳定性及可扩展性,支持数据高效处理与决策支持,适用于教育、医疗、旅游等多个领域,助力办公自动化与科学化管理,显著提升工作效率并降低错误率。
|
21天前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
26天前
|
数据采集 数据可视化 安全
基于python大数据的天气可视化分析预测系统
本研究探讨基于Python的天气预报数据可视化系统,旨在提升天气数据获取、分析与展示的效率与准确性。通过网络爬虫技术快速抓取实时天气数据,并运用数据可视化技术直观呈现天气变化趋势,为公众出行、农业生产及灾害预警提供科学支持,具有重要的现实意义与应用价值。
|
29天前
|
存储 机器学习/深度学习 关系型数据库
基于python的个人财务记账系统
本研究探讨了基于Python的个人财务记账系统的设计与实现。随着经济快速发展,个人财务管理日益重要,传统手工记账方式效率低且易出错,而现有商业软件功能复杂、缺乏个性化。Python凭借其简洁语法和强大库支持,适用于开发高效、易用的记账系统。系统结合Pyecharts实现数据可视化,利用MySQL进行数据存储,具备自动分类、统计分析、财务报表生成等功能,帮助用户清晰掌握财务状况,合理规划收支,提升财务管理效率。研究具有重要的现实意义和应用前景。
|
27天前
|
存储 JavaScript 关系型数据库
基于python+vue的居家办公系统的设计与实现
本居家办公系统基于B/S架构,采用Python语言及Django框架开发,结合MySQL数据库和Vue.js前端技术,实现家具销售库存的科学化、规范化管理。系统旨在提升办公效率,降低数据错误率,优化信息管理流程,适应多行业信息化发展需求,具有良好的扩展性与实用性。
|
21天前
|
JavaScript 关系型数据库 MySQL
基于python+vue的贫困生资助系统
本文介绍了餐厅点餐系统的开发环境与核心技术,涵盖Python语言、MySQL数据库、Django框架及Vue.js前端技术,详细说明了各项技术的应用与优势,助力系统高效开发与稳定运行。
|
21天前
|
Python
基于python的餐厅点餐系统
本课题研究开发餐厅点餐系统,旨在提升餐厅信息处理效率与管理水平。通过计算机技术规范点餐流程,加快信息处理速度,助力管理人员高效运作。系统包含功能结构图与具体实现模块,全面展示系统设计与运行逻辑。
|
28天前
|
JavaScript 关系型数据库 MySQL
基于python的医院智慧门诊系统研究
本系统基于Python和Django框架,结合MySQL、Vue等技术,构建功能全面、易用性强的医院智慧门诊平台。系统涵盖患者与医务人员信息管理、在线挂号、智能导诊、电子病历、远程医疗等功能,优化就医流程,提升医疗效率与服务质量,助力医疗服务数字化转型。
基于python的医院智慧门诊系统研究
|
1月前
|
数据可视化 大数据 数据挖掘
基于python大数据的招聘数据可视化分析系统
本系统基于Python开发,整合多渠道招聘数据,利用数据分析与可视化技术,助力企业高效决策。核心功能包括数据采集、智能分析、可视化展示及权限管理,提升招聘效率与人才管理水平,推动人力资源管理数字化转型。

热门文章

最新文章

推荐镜像

更多