if在python中如何用_如何在Python中实现“if if”?

该博客介绍了如何通过定义一个Accumulator类来优雅地处理多个if条件语句,并且能够方便地跟踪哪些条件被满足。在Python中,Accumulator类允许将else语句绑定到一系列if条件,当所有条件都不满足时执行else部分。这种方法提供了条件执行的统计信息,如总条件数、通过的条件数和失败的条件数。
摘要由CSDN通过智能技术生成

我想在概念上实现以下内容:

if condition1:

action1()

also if condition2:

action2()

also if condition3:

action3()

also if condition4:

action4()

also if condition5:

action5()

also if condition6:

action6()

else:

print("None of the conditions was met.")

实现这样的逻辑的合理而明确的方法是什么?怎么可能将else绑定到多个if语句?我是否会被迫创建一个布尔来跟踪事物?

解决方法:

好的,根据澄清,这样的事情会很好:

class Accumulator(object):

none = None

def also(self, condition):

self.none = not condition and (self.none is None or self.none)

return condition

acc = Accumulator()

also = acc.also

if also(condition1):

action1()

if also(condition2):

action2()

if also(condition3):

action3()

if also(condition4):

action4()

if acc.none:

print "none passed"

您可以扩展它以获取有关if语句执行的其他信息:

class Accumulator(object):

all = True

any = False

none = None

total = 0

passed = 0

failed = 0

def also(self, condition):

self.all = self.all and condition

self.any = self.any or condition

self.none = not condition and (self.none is None or self.none)

self.total += 1

self.passed += 1 if condition else self.failed += 1

return condition

标签:python,if-statement,series

来源: https://codeday.me/bug/20190711/1435270.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值