首页 > 其他分享 >Day26.转账功能

Day26.转账功能

时间:2024-06-12 15:55:42浏览次数:22  
标签:转账 功能 money Day26 用户 dic user login

1.转账功能_用户视图层(src.py)和银行相关业务接口(bank_interface.py)

   转账功能:用户视图层(src.py)中的代码

# 6. 转账功能
@common.login_auth
def transfer():
    '''
    1.接收用户输入的 转账目标用户
    2.接收用户输入的 转账金额
    '''
    while True:
        #  1) 让用户输入转账用户与金额
        to_user = input('请输入转账目标用户:').strip()
        money = input('请输入转账金额:').strip()

        # 2)判断用户输入的金额是否是数字或 > 0
        if not money.isdigit():
            print('请输入正确转账金额')
            continue
        money = int(money)
        if money > 0:
            # 3)调用转账接口
            flag, msg = bank_interface.transfer_interface(
                # 当前用户,目标用户,转账金额
                login_user, to_user, money
            )
            if flag:
                print(msg)
                break
            else:
                print(msg)

        else:
            print('请输入正确转账金额')

   转账功能:银行相关业务接口(bank_interface.py)中的代码

# 转账接口
def transfer_interface(login_user, to_user, input_money):
    '''
    1.获取"当前用户"数据
    2.获取"目标用户"数据
    3.获取转账金额
    '''
    
    # 1)获取 "当前用户" 的字典
    login_user_dic = db_handler.select(login_user)

    # 2)获取 "目标用户" 的字典
    to_user_dic = db_handler.select(to_user)

    # 3)判断目标用户是否存在
    if not to_user_dic:
        return False, '目标用户不存在'
    
    # 4)如用户存在,则判断 "当前用户的转账金额" 是否足够
    if login_user_dic['balance'] >= input_money:
        
        # 5)若足够,则开始给目标用户转账
        # 5.1)给当前用户的数据,做减钱操作
        login_user_dic['balance'] =  login_user_dic['balance'] - input_money

        # 5.2)给目标用的数据,做加钱操作
        to_user_dic['balance'] = to_user_dic['balance'] + input_money

        # 6) 保存用户数据
        # 6.1)调用数据处理层的save功能,保存当前用户数据
        db_handler.save(login_user_dic)
        # 6.2)调用数据处理层的save功能,保存目标用户数据
        db_handler.save(to_user_dic)

        return True, '用户:{} 给 用户:{} 转账 {} $ 成功!'.format(login_user, to_user, input_money)
    else:
        return False, '当前用户转账金额不足!'

2.转账功能_程序运行结果

 

标签:转账,功能,money,Day26,用户,dic,user,login
From: https://www.cnblogs.com/vless/p/18244088

相关文章

  • Day26.还款功能
    1.还款功能_用户视图层(src.py)和银行相关业务接口(bank_interface.py)还款功能:src.py中的代码#5.还款功能@common.login_authdefrepay():'''银行卡还款,无论是信用卡或储蓄卡,是否能充任意大小的金额'''whileTrue:#1)让用户输入还款金额......
  • vue-json-excel 导出功能
    导出功能1.在vue中使用以下命令安装excel插件npminstallvue-json-excel-S2.在main.js文件中配置全局组件importJsonExcelfrom'vue-json-excel'Vue.component('downloadExcel',JsonExcel)3.在需要导出的.vue页面使用 <download-excel></download-excel><downl......
  • Android 10.0 Launcher修改density禁止布局改变功能实现
    1.前言在10.0的系统rom定制化开发中,在关于Launcher3的定制化功能中,在有些功能需要要求改变系统原有的density屏幕密度,这样就会造成Launcher3的布局变化,所以就不符合要求,接下来就来看下如何禁止改变density造成Launcher3布局功能改变的实现2.Launcher修改density禁止布局改......
  • 易基因:表观基因组分析揭示转录因子结合区DNA甲基化表征其功能和进化背景 | 研究速递
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。DNA甲基化是一种重要的表观遗传修饰,对调控基因组功能有多种作用。其水平在整个基因组中具有空间相关性,通常在被抑制区域较高,在转录因子(TF)结合位点(TFBS)和活性调控区域较低。然而建立全基因组和TF结合位点甲基化模......
  • nginx的rewrite功能介绍
    Rewrite规则ex:http://hostname/abc/abc.html–>http://hostname/abc.php?abcRewrite对称URLRewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程。URLRewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如http://www.123.com/ne......
  • SVMSPro –国标28181共享上级功能
    SVMSPro–国标28181共享上级功能在实际项目中,SVMSPro国标网关平台,需要共享通道给上级平台。这时接入到SVMSPro中的,可能只是设备通道。那如何共享组织给上级呢?SVMSPro国标网关平台,可以自定义设备组织树共享给上级国标平台。也可以根据分组组织机构自定义共享给上级国标平......
  • 【投稿优惠】2024年城市建设与土木功能结构国际会议(UCCFS 2024)
    2024年城市建设与土木功能结构国际会议2024InternationalConferenceonUrbanConstructionandCivilFunctionalStructures会议简介2024年城市建设与土木功能结构国际会议是一个专注于城市建设与土木功能结构领域最新发展的国际交流平台。本次会议汇集了全球顶尖的......
  • 保密U盘应该具备哪些功能,从而提高数据安全性?
    保密U盘和普通U盘在基本功能上是相似的,都是用于存储和传输数据的USB闪存驱动器。但是,保密U盘针对数据安全性有额外的设计和功能,主要区别包括:加密技术:保密U盘通常内置了加密技术,如AES加密,确保存储在U盘上的数据即使被非法访问也无法读取。访问控制:安全U盘可能具有访问控制机制,如......
  • 请编写一个函数void fun(char a[],char b[],int n),其功能是:删除以各字符串中指定下标
    请编写一个函数voidfun(chara[],charb[],intn),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。#include<stdio.h>voidfun(chara[],charb[],intn){inti,j=0;for(i=0;a[i]......
  • Day25.查看余额与提现功能
    1.查看余额与提现功能_查看余额功能逻辑代码 查询余额:src.py的代码#3.查看余额@common.login_authdefcheck_balance():#直接调用查看余额接口,获取用户余额balance=user_interface.check_bal_interface(login_user)print('用户{}......