答案 0 :(得分:1)
from random import randint
num = randint(1,5)
然后db query:
SELECT question FROM your_table WHERE ques_id = num;
可替换地:
SELECT question FROM your_table LIMIT num-1, 1;
num将是1到5之间的随机数,在查询中替换num
,它只返回1行。请注意,它从索引0开始,因此第一个参数应该是num-1
而不是num
,第二个参数始终为1,因为您只想为每个查询获取一行。
答案 1 :(得分:1)
如果所有ID都按顺序排列,请获取最大值并使用随机库从数据库中获取1到最大id的随机数。
from random import randint
random_id = randint(1,my_max_id)
然后使用random_id
从数据库中获取该项目。
如果你还没有设置你的python mysql连接,你可以参考这个 How do I connect to a MySQL Database in Python?。
答案 2 :(得分:0)
您可以在数据库级别(在MySQL中)执行此操作,从而可以提高速度(通过在较低级别的软件中进行计算)。
在MySQL中,您可以随机获得所有要显示的问题。
SELECT qus_id, question FROM your_table ORDER BY RAND();
然后,在python中,通过顺序获取MySQL中以前乱序的记录来显示它们。
for question in rows:
show_question(question)
任何“随机”操作的处理成本都很高,因此计算该软件的软件级别越低,您的程序就会越优化。