我有一个Python 函数,它有一系列if语句。
def some_func():
if condition_1:
return result_1
if condition_2:
return result_2
... #other if statements
Run Code Online (Sandbox Code Playgroud)
但我希望每次调用函数时这些 if 语句的顺序都会改变。就像我调用该函数一样,可能存在一种情况,当condition_1和condition_2两者都为真时,但由于condition_1首先检查,因此我会得到result_1,但我希望当我第二次调用该函数时,检查一些其他随机条件。(因为我在函数中只有五个 if 语句,因此是五个条件之一)。
那么有什么方法可以做到这一点,比如将条件存储在列表中或其他东西中。
任何帮助将不胜感激。
您可以创建列表condition,result然后shuffle如下所示:
import random
def some_func(x):
lst_condition_result = [((x>1), True), ((x>2), False)]
random.shuffle(lst_condition_result)
for condition, result in lst_condition_result:
if condition:
return result
Run Code Online (Sandbox Code Playgroud)
输出:
>>> some_func(20)
True
>>> some_func(20)
False
>>> some_func(20)
False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |