python - 从列表中调用随机函数的语法

标签 python

来自这个帖子: How do I perform a random event in Python by picking a random variable?

我了解到可以将一些函数放入列表中,然后使用 random.choice() 调用其中一个函数来生成随机事件。

我对此很感兴趣,因为我正在编写一个相当小的基于文本的游戏,作为初学者教程的一部分。

但是当我写出我认为会给我想要的结果的时候(也就是说,只有一个被调用的函数并打印它的字符串:

import random

def func_test_1():
    print "This is func_test_1."

def func_test_2():
    print "This is func_test_2."

def func_test_3():
    print "This is func_test_3."

my_list = [func_test_1(), func_test_2(), func_test_3()]

random.choice(my_list)

我得到这个结果:

C:\Windows\system32\cmd.exe /c python random_func.py

This is func_test_1.

This is func_test_2.

This is func_test_3.

Hit any key to close this window...

调用和打印所有三个函数。

有人可以帮助我使用正确的语法来执行此操作吗?谢谢。

最佳答案

使用括号调用函数。您想要的是将它们分配给列表并稍后调用选择:

my_list = [func_test_1, func_test_2, func_test_3]
random.choice(my_list)()

关于python - 从列表中调用随机函数的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465455/

相关文章:

python - Django 模块未找到错误,但它已被删除并删除所有引用

django 的 python 密码生成器

python - 日志文件到json文件的转换

python - 从向量列表中找到最接近的向量 | Python

python - 如何通过 Stack Exchange API 获得特定用户的答案?

python - 我的 CNN 图像识别模型产生波动的验证损失

python - 瀑布图python?

python - 如何让 itemgetter 从列表变量中获取输入?

python - 使用 keras 时尝试重置 tensorflow 图,失败

python - Pandas 分钟数据可变长度窗口查找从现在到关闭时间的最小值