当前位置:   article > 正文

使用Python实现银行管理系统_python银行管理系统

python银行管理系统

在本篇博文中,我们将使用Python编写一个简单的银行管理系统,该系统具有开户、查询、取款、存款、转账、锁定、解锁、存盘和退出等功能。我们将逐步分析每个功能,并提供相应的代码实现。

题目介绍

7.5 实例1: 银行管理系统
从早期的钱庄到现如今的银行,金融行业在不断地变革;随着科技的发展、计算机的普及、计算机技术在金融行业得到了广泛的应用“银行管理系统是一个集开户、查询、取款、存款、转账、锁定、解锁、退出等一系列功能的管理系统。该系统中各功能的介绍如下:
(1)开户功能:用户在ATM 机上根据提示“请输人姓名:”、“请输人身份证号:”、“请输入机号:”依次输人姓名、身份证号、手机号、预存金额、密码等信息,如果开户成功,系统随机生成一个不重复的6位数字卡号。
(2)查询功能:根据用户输人的卡号、密码查询卡中余额,如果连续 3 次输入错误密码,该卡号会被锁定。
(3)取款功能:首先根据用户输入的卡号、密码显示卡中余额,如果连续 3 次输人错误密码该卡号会被锁定;然后接收用户输人的取款金额,如果取款金额大于卡中余额或取款金额小于0系统进行提示并返回功能页面。
(4)存款功能:首先根据用户输人的卡号、密码显示卡中余额,如果连续 3 次输入错误密码该卡号会被锁定,然后接收用户输入的存款金额:如果存款金额小于 0,系统进行提示并返回功能页面。
(5)转账功能: 用户需要分别输人转出卡号与转人卡号,如果连续3次输入错误密码,卡号会被锁定。当输人转账金额后,需要用户再次确认是否执行转账功能;如果确定执行转账功能后转出卡与转入卡做相应金额计算;如果取消转账功能,则回退之前操作。
(6)锁定功能:根据输人的卡号、密码执行锁定功能,锁定之后该卡不能执行查询、取款存款、转账等操作。
(7)解锁功能:根据输入的卡号、密码执行解锁功能,解锁后的卡,能够执行查询、取款存款、转账等操作。
(8)存盘功能:执行存盘功能后,程序执行的数据会写入本地文件中
(9)退出功能:执行退出功能时,需要输人管理员的账户密码。如果输入的账号密码错误则返回功能页面;如果输人的账号密码正确,则执行存盘并退出系统。
本实例要求使用python编写程序,实现一个具有上述功能的银行管理系统

程序演示

登录

在这里插入图片描述

开户

在这里插入图片描述

查询

在这里插入图片描述

取款

在这里插入图片描述

存款

在这里插入图片描述

转账

在这里插入图片描述

锁定

在这里插入图片描述

解锁

在这里插入图片描述

存盘

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

退出

在这里插入图片描述

相关代码

开户功能

开户功能允许用户在ATM机上输入个人信息,并生成一个不重复的6位数字卡号。以下是实现开户功能的代码:

# 开户功能
def open_account():
    name = input("请输入姓名:")
    id_number = input("请输入身份证号:")
    phone = input("请输入手机号:")
    balance = float(input("请输入预存金额:"))
    password = input("请输入密码:")
    card_number = generate_card_number()

    users[card_number] = {
   
        "name": name,
        "id_number": id_number,
        "phone": phone,
        "balance": balance,
        "password": password
    }

    print("开户成功!您的卡号是:", card_number)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

查询功能

查询功能允许用户通过输入卡号和密码来查询卡中的余额。如果连续3次输入错误密码,该卡号将被锁定。以下是实现查询功能的代码:

# 查询功能
def inquire():
    card_number = input("请输入卡号:")
    password = input("请输入密码:")

    if card_number in locked_cards:
        print("该卡号已被锁定,请联系银行解锁。")
        return

    user = users.get(card_number)
    if user and user["password"] == password:
        print("您的余额为:", user["balance"])
    else:
        print("卡号或密码错误!")
        if card_number in users:
            if card_number not in locked_cards:
                users[card_number].setdefault("wrong_password_count", 0)
                users[card_number]["wrong_password_count"] += 1
                if users[card_number]["wrong_password_count"] >= 3:
                    locked_cards.append(card_number)
                    print("连续输错密码已达3次,该卡已被锁定。")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

取款功能

取款功能允许用户在输入卡号和密码后显示卡中的余额,并输入取款金额。如果连续3次输入错误密码,卡号将被锁定;如果取款金额大于卡中余额或小于0,系统将提示错误并返回功能页面。以下是实现取款功能的代码:

# 取款功能
def withdraw():
    card_number = input("请输入卡号:")
    password = input("请输入密码:")

    if card_number in locked_cards:
        print("该卡号已被锁定,请联系银行解锁。")
        return

    user = users.get(card_number)
    if user and user["password"] == password:
        print("您的余额为:", user["balance"])
        amount = float(input("请输入取款金额:"))
        if amount > user["balance"] or amount < 0:
            print("取款金额无效!")
        else:
            user["balance"] -= amount
            print("取款成功!")
            print("当前余额为:", user["balance"])
    else:
        print("卡号或密码错误!")
        if card_number in users:
            if card_number not in locked_cards:
                users[card_number].setdefault("wrong_password_count", 0)
                users[card_number]["wrong_password_count"] += 1
                if users[card_number]["wrong_password_count"] >= 3:
                    locked_cards.append(card_number)
                    print("连续输错密码已达3次,该卡已被锁定。")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

存款功能

存款功能允许用户在输入卡号和密码后显示卡中的余额,并输入存款金额。如果连续3次输入错误密码,卡号将被锁定;如果存款金额小于0,系统将提示错误并返回功能页面。以下是实现存款功能的代码:

# 存款功能
def deposit():
    card_number = input("请输入卡号:")
    password = input("请输入密码:")

    if card_number in locked_cards:
        print("该卡号已被锁定,请联系银行解锁。")
        return

    user = users.get(card_number)
    if user and user["password"] == password:
        print("您的余额为:", user["balance"])
        amount = float(input("请输入存款金额:"))
        if amount < 0:
            print("存款金额无效!")
        else:
            user["balance"] += amount
            print("存款成功!")
            print("当前余额为:", user["balance"])
    else:
        print
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/747036
推荐阅读
相关标签
  

闽ICP备14008679号