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

2021/12/2 11:07:01

本文主要是介绍Python的从0到1(十六)-Python的条件判断3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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的从0到1(十六)-Python的条件判断3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程