pythonwhile循环条件_python – 有额外的while循环条件……基于条件?

这篇博客介绍了如何在Python中模拟switch语句的行为,通过创建条件函数字典或列表来实现。文中提到,可以利用lambda表达式或命名函数根据条件执行相应操作,并在循环中动态评估条件。这种方法适用于连续整数作为条件的情况,允许在运行时而不是定义时评估条件。博客还探讨了如何根据前一个条件构建新的条件,简化了代码结构。
摘要由CSDN通过智能技术生成

使用switch语句执行其他语言操作的一般方法是创建包含每个案例的函数的字典:

conds = {

0: lambda: condition_1,

1: lambda: condition_1 or condition_2,

2: lambda: condition_1 or condition_2 or condition_3

}

然后:

while conds[a]():

# do stuff

通过使用lambdas(如果条件特别复杂,可以使用命名函数),可以在每次循环时评估适当的条件,而不是在定义字典时评估一次.

在这个简单的情况下,你的a具有从0开始的连续整数值,你可以使用一个列表并保存一些输入.为了进一步简化,您可以根据前一个条件定义每个条件,因为您每次只是添加一个条件:

conds = [

lambda: condition_1,

lambda: conds[0]() or condition_2,

lambda: conds[1]() or condition_3

]

或者,正如Julien在评论中所建议的那样:

conds = [

lambda: condition_1,

lambda: condition_2,

lambda: condition_3

]

while any(cond() for cond in conds[:a+1]):

# do stuff

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值