首页 > 解决方案 > 如何打乱 3 个独立函数的打印语句?

问题描述

def a():
  print(a)
def b():
  print(b)
def c():
  print(c)

如何随机播放 a、b 和 c?我无法将 a,b,c 从函数中打印出来,因为为了简化问题,我在这里没有提到其他代码。我尝试将所有 3 个放在 random.shuffle() 中,还尝试将变量与每个函数相关联,并尝试对变量进行洗牌(由于每个函数内部的代码,这也不起作用)。

发送帮助。

标签: pythonpython-3.x

解决方案


您最有可能遇到的问题是您在 shuffle 中调用函数。只需放置函数本身而不调用它们,您就可以轻松地做到这一点:

random.shuffle([a,b,c]) # correct
# vs.
random.shuffle([a(),b(),c()]) # incorrect, calls functions before shuffle

然后你可以做一个 for 循环并调用它们或你需要的任何东西:

for f in random.shuffle([a,b,c]):
  f()

推荐阅读