我正在做一个小程序(测试)来测试这种语言,但我被困在一个函数中 让我解释一下 我希望从我的数据库中接收值,然后只使用其中的5个值,因此对于每个问题,用户都会回答,然后转到下一个问题,直到到达最后一个问题为止。 到目前为止我掌握的代码是
def escolhaFinal(id_tema, id_tipo):
cur = conn.cursor()
cur.execute("SELECT question,op1,op2,op3,op4,correto FROM questions where id_tema = %s and id_grau = %s", (id_tema,id_tipo))
data = cur.fetchall()
l = list(data)
random.choice(l,5)
for row in l:
print(l)
cur.close()
conn.close()
但我收到了这个错误 TypeError:choice()接受2个位置参数,但给出了3个
关于这个功能有什么帮助吗?在
在随机选择只接受1个参数。在你的代码里
那5个人该怎么办?文档中有这样的选择:“从非空序列seq返回一个随机元素。如果seq为空,则引发索引器错误。“
因此,将行更改为只使用1个参数,并指定值以便以后使用(也可以调整代码的其余部分)。在
看起来您希望使用
random.sample
,因为这样可以从列表中返回多个随机选择的项目,例如:从^{} 的文档中可以看到:
要选择多个元素,可以使用list comprehension,如下所示:
或^{} 选择唯一元素:
^{pr2}$输出:
相关问题 更多 >
编程相关推荐