如何在函数中使用random.choice()?

时间:2019-05-24 03:04:08

标签: python function random

我在一个文件中列出了18个多项选择题作为函数,我想从一个主文件中随机调用其中的10个题。如果我将random.choice()与整数或字符串列表一起使用,则效果很好,但如果将其传递给函数列表,则它将按顺序运行所有函数,而忽略了我设置的范围。我已经在论坛上阅读了很多文档,帮助文件和类似案例,但我仍在摸索。在这一点上,我认为random.choice不会做我需要做的事情。有人看到我的错误或知道替代方法吗?

我尝试过random.choice()、. choices()、. shuffle() 我试图将函数传递到列表和字典中,将列表名称或整个选项列表直接输入.choice(),然后打印(random.choice(list)),但每次都得到相同的结果。

import random

def Q1():
    print('Question 1')
def Q2():
    print('Question 2')
def Q3():
    print('Question 3')    

list = [Q1(),Q2(),Q3()]
for i in range(5):
    random.choice(list)
    i+=i

2 个答案:

答案 0 :(得分:1)

random.choice()有效,您只需要更正语法即可:

import random

def Q1():
    print('Question 1')
def Q2():
    print('Question 2')
def Q3():
    print('Question 3')    

list = [Q1, Q2, Q3]
for i in range(5):
    random.choice(list)()

答案 1 :(得分:1)

您的意思可能是,您只需要稍微调整一下代码即可:

import random

def Q1():
    print('Question 1')
def Q2():
    print('Question 2')
def Q3():
    print('Question 3')    

list = [Q1, Q2, Q3]
for i in range(5):
    random.choice(list)()