Syntax to call random function from a list
本问题已经有最佳答案,请猛点这里访问。
从这个线程:如何通过选择随机变量在Python中执行随机事件?
我了解到可以将一些函数放入一个列表中,并通过使用
我对此很感兴趣,因为作为初学者教程的一部分,我正在编写一个非常小的基于文本的游戏。
但当我写下我认为会给我期望的结果时(也就是说,只调用其中一个函数并打印其字符串:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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) |
我得到这个结果:
1 2 3 4 5 6 7 8 9 | 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... |
这是正在调用和打印的三个函数。
有人能帮我用正确的语法吗?谢谢您。
与你周围的括号调用函数。你想要的是他们的呼叫分配和选择后的列表:
1 2 | my_list = [func_test_1, func_test_2, func_test_3] random.choice(my_list)() |
当你做你firstly,
1 2 | my_list = [func_test_1, func_test_2, func_test_3] random.choice(my_list)() |
是在Python函数对象。
如果你只是通过他们的问题,他们的名字(没有括号,这做的是调用该函数!)你的优先问题,函数对象。你可以重新绑定他们检查他们。他们在一个商店或参考名单。
在这一点,没有功能已被执行。然后你可以使用一个函数从一个球员
- 第一
mylist[0]() 调用函数的列表 random.choice(mylist)() 调用随机函数