python课程设计-银行账户管理系统

文章描述了一个银行用户管理系统的编程实现,包括用户账号、姓名、密码、地址、存款余额和开户行等信息。系统支持添加用户、存取款、转账和查询账户等功能。用户库限制为100个用户,且有错误处理机制。代码设计考虑了可复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


大学生课程设计可以私信


  1. 编程实现:(仔细业务之间的包含关系,并完成以下编程需求,要适当提高代码的可复用性。)

  1. 用户:账号(int:系统随机产生8位数字)、姓名(str)、密码(int:6位数字)、地址、存款余额(int)、开户行(银行的名称(str))

  1. 地址:国家(str)、省份(str)、街道(str)、门牌号(str)

  1. 银行:能存储100用户的库(字典)、本银行名称(比如:中国工商银行的昌平支行,str)

  1. 银行业务功能

  1. 添加用户(传入参数:用户的所有信息。返回值:整型值(1:成功,2:用户已存在,3:用户库已满))

  1. 业务逻辑:

  • 先检查该用户的账号在库里是否存在。若不存在则在用户库里添加一个该用户并返回代号1

  • 若存在则返回代号2。另外在添加用户的时候检测用户库是否已注册满,若已满则返回代号3

  1. 存钱(传入值:用户的账号、存取的金额。返回值:布尔类型值)

  1. 业务逻辑:

  • 先根据传入的账号信息查询用户库里是否有该用户。若没有则返回False

  • 若有,则将该用户的金额存进去。

  1. 取钱(传入值:用户的账号,用户密码,取钱金额。返回值:整型值(0:正常,1:账号不存在,2:密码不对,3:钱不够))

  1. 业务逻辑:

  • 先根据账号信息来查询该用户是否存在,若不存在,则返回代号1,

  • 若存在,则继续判断密码是否正确,若不正确,则返回代号2。

  • 若账号密码都正确,则继续判断当前用户的金额是否满足要取出的钱,若不满足,则返回代号3,

  • 若满足,则将该用户的金额减去。

  1. 转账(传入值:转出的账号,转入的账号,转出账号的密码,转出的金额。返回值:0:正常,1:账号不对,2密码不对,3钱不够)

  1. 业务逻辑:

  • 先查询用户库是否存在转出和转入的账号,若不存在则返回代号,1,

  • 若账号都存在则继续判断转出账号的密码是否正确,若不正确,则返回2,

  • 若正确则继续判断要转出的金额是否足够,若不够则返回3,

  • 否则正常转出,转出的账号用户金额要相对应的减少,转入的金额相对应的增加。

  1. 查询账户功能(传入值:账号,账号密码,返回值:空)

  1. 业务逻辑:

  • 先根据账号判断用户库是否存在该用户,若不存在则打印提示信息:该用户不存在。

  • 否则继续判断密码是否正确。若不正确则打印相对应的错误信息。

  • 若账号和密码都正确,则将该用户的信息都打印出来,比如:当前账号:xxxx,密码:xxxxxx,余额:xxxx元,用户居住地址:xxxxxxxxxxxxx,当前账户的开户行:xxxxxxxxxx.

  1. 界面类:在执行该入口程序时,就打印银行业务选择菜单:比如:

  1. 然后就开始处理各种输入操作,直到业务处理完成!


import random
#用户信息
user_list = ['name','password','money','用户居住地址','address']
user_dict = {}

#判断账户是否存在
def decide():
    global user_dict
    global i
    global user_list
    if len(user_dict) <= 100:
        if i not in user_dict:
            print('1.账号信息不存在')
            id()
        else:
            print('2.账号信息已存在')
            password1 = input('请输入您的卡号密码:')
            if password1 != user_dict[i][1]:
                print('密码输入错误,请重新输入')
                decide()
            else:
                return
    else:
        print('3.银行用户库已满')
        exit()
#随机生成卡号
def id():
    global i
    global user_dict
    global user_list
    i = random.randint(10000000, 100000000)
    name = input('为您办理新卡,请输入你的姓名:')
    password = input('请设置密码:')
    money = input('请输入您要存入的金额:')
    address = input('请输入您的居住地址:')
    print(f'为您办理的卡号是:{i},%%%%%%%%%请您记牢%%%%%%%%%%')
    user_list[0] = name
    user_list[1] = password
    user_list[2] = money
    user_list[3] = address
    user_list[4] = "中国XX银行XX支行"

    user_dict[i] = user_list
    print(f'银行卡开户成功,卡号:{i},客户信息:{user_dict[i]}')

    use()
#开户
def user():
    global i
    global user_dict
    global user_list
    i = random.randint(10000000,100000000)
    decide()
    name = input('为您办理新卡,请输入你的姓名:')
    password = input('请设置密码:')
    money = input('请输入您要存入的金额:')
    address = input('请输入您的居住地址:')
    print(f'为您办理的卡号是:{i},%%%%%%%%%请您记牢%%%%%%%%%%')
    user_list[0] = name
    user_list[1] = password
    user_list[2] = money
    user_list[3] = address
    user_list[4] = "中国XX银行XX支行"

    user_dict[i] = user_list
    print(f'银行卡开户成功,卡号:{i},客户信息:{user_dict[i]}')

    use()
#存钱
def save_money():
    global i
    global user_dict
    global user_list
    i = int(input('请输入您要存款的银行卡号:'))
    decide()
    save = int(input('请输入您的存款金额:'))
    user_dict[i][2] = save + int(user_dict[i][2])
    print(f'您当前的余额为:{user_dict[i][2]}')

    use()
#取钱
def cost_money():
    global i
    global user_dict
    global user_list
    i = int(input('请输入您要取款的银行卡号:'))
    decide()
    cost = int(input('请输入您的取款金额:'))
    user_dict[i][2] = int(user_dict[i][2]) - cost
    print(f'您当前的余额为:{user_dict[i][2]}')

    use()
#转账
def enchange():
    global i
    global user_dict
    global user_list
    i = int(input('请输入您要转款的银行卡号:'))
    decide()
    cost = int(input('请输入您的转款金额:'))
    user_dict[i][2] = int(user_dict[i][2]) - cost
    print(f'您当前的余额为:{user_dict[i][2]}')
    i = int(input('请输入您要转款的银行卡号:'))
    decide()
    user_dict[i][2] = cost + int(user_dict[i][2])
    print(f'您当前的余额为:{user_dict[i][2]}')

    use()
#查询
def search():
    global i
    global user_dict
    global user_list
    i = int(input('请输入您要查询的银行卡号:'))
    decide()
    print(f'当前账号:{i},密码:{user_dict[i][1]},余额:{user_dict[i][2]}元,用户居住地址:{user_dict[i][3]},当前账户的开户行:中国XX银行XX支行')

    use()


def use():
    print('****************************************************')
    print('*               中国XX银行XX支行                   *')
    print('*                   账户管理系统                     *')
    print('*                      V1.0                        *')
    print('****************************************************')
    print('                                                    ')
    print('*1.开户                                             *')
    print('*2.存钱                                             *')
    print('*3.取款                                             *')
    print('*4.转账                                             *')
    print('*5.查询                                             *')
    print('*6.Bye                                             *')
    print('****************************************************')
    use = int(input('请输入您要办理的业务:'))
    if use == 1:
        user()
    elif use == 2:
        save_money()
    elif use == 3:
        cost_money()
    elif use == 4:
        enchange()
    elif use == 5:
        search()
    elif use == 6:
        exit()
use()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值