ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python的从0到1(十六)-Python的条件判断3

2021-12-02 10:02:45  阅读:194  来源: 互联网

标签:判断 嵌套 Python 条件 十六 else 密码 支付 print


if嵌套

最后,终于来到了扫码支付阶段,其实扫码支付的发展并不是一帆风顺的,2014年,疯抢微信红包,扫红码下载应用送红包,为扫码支付奠定用户基础,紧接着央行就叫停了二维码支付,原因是信息安全和资金安全,2016年支付宝推出扫红码送红包,二维码支付地位重获承认,市场井喷,此后,扫码支付前景一片光明。

由此可以看出,扫码支付中我们最关心的还是安全问题,为此,微信和支付宝也提供了各种保护措施,常见的就有单笔限额,频繁付款限制,额度限制等,用来更好的保障消费者的支付安全。

在具体的支付场景中,最常见的就是大额验证保护机制,如下支付场景

支付限额规则

1.如果支付金额大于500

  1).如果支付密码正确,支付成功

  2).否则,支付失败

2.如果支付金额不超过500

  1).如果开启了小额免密验证,支付成功

  2).如果没有开启小额免密验证

     1).如果支付密码正确,支付成功

     2).如果支付密码错误,支付失败
复制代码

像这种如果底下还有如果(即条件里还套条件)的情况,我们如何用Python把上面的规则写出来,并得出评价呢?

答案就是——嵌套条件。

if嵌套的应用场景,简单来讲就是:在基础条件满足的情况下,再在基础条件底下增加额外的条件判断。

就像上面的基础条件是500元,500元以上必须输入密码且密码正确才会支付成功,500元以下检测是否开启小额支付,如果开启了,不需要输入密码就直接支付成功,如果没开启,需要输入支付密码且密码正确才会支付成功。

因此,支付的场景用代码表示,应该用if嵌套来完成代码:

# 正确密码为123456
# 密码赋值为123456
password='123456'

# 支付金额赋值为265

paymoney=265
# 免密支付默认开启

check=false

# 条件:如果支付金额大于500
if paymoney > 500:
    # 条件:如果输入密码为123456
    if password=='123456':
        print('大金额支付成功')
    # 条件:密码不是123456
    else:
        print('密码错误,大金额支付失败')

# 条件:支付金额小于500
else:
    # 条件:如果开启了免密支付
    if check:
        print('小金额免密支付成功')
    # 条件:如果没有开启免密支付
    else:
        # 条件:如果密码正确
        if password == '123456':
            print('小金额支付成功')
        # 条件:如果密码错误
        else:
            print('密码错误,小金额支付失败')
复制代码

结果是小金额支付成功,你能看出程序的执行流程吗?下面我们一块来分析以下

if嵌套的执行循序

首先,我们先从整体总览一下,这段支付验证规则的代码,总共分为四部分【赋值ifelseprint() 】,两个大代码组。

并且,在代码组1的if条件和代码组2的else的条件下,又包含了条件判断命令if...else...,在代码组2的的else条件下又包含了if...else.

那么,这种嵌套命令我们要如何理解呢?

缩进相同的命令处于同一个等级,第一步,计算机就要按顺序一条一条地执行命令。

那么计算机的执行顺序是:

如何写嵌套代码

if嵌套由于涉及多个条件判断,并且是条件套条件的判断,为了逻辑清楚,我们可采用“由外而内,分而治之”的方法写if嵌套。

有一堆快递,要分别运往北京,上海,广州的某个小区。那么我们该如何对快递按地址进行分类呢?

第一步,我们对快递按北上广进行分类。

模拟代码是这样滴。

address='北京'
if address=='北京':
    print('北京中心')
elif address=='上海':
    print('上海中心')
elif address=='广州':
    print('广州中心')
else:
    print('地址无效')
复制代码

第二步,我们对到达北京中心的快递按区进行分类。

模拟代码是这样的。

if address=='北京':
    if district=='昌平区':
        print('昌平区中心')
    elif district=='顺义区':
        print('顺义区中心')
    elif district=='通州区':
        print('通州区中心')
    else:
        print('其他区')
复制代码

这时候我们会发现,我们只需要对到达北京的快递进一步捡练就可以。其实这是一种编程思想,就是分而治之的思想,将复杂的问题分为若干个小问题进行处理,问题就会变得非常简单。

第三步,假设快递到了昌平区,我们就可以进一步按街道进行捡练,最后按小区进行分发就可以。

嵌套是不是好玩又实用,不过还是要提醒一下,一定不要忘了缩进哦。

最后的最后,我们来总结一下知识点:


 

标签:判断,嵌套,Python,条件,十六,else,密码,支付,print
来源: https://blog.csdn.net/Python4857/article/details/121594473

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有