You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将数据库查询结果中的两个字段分两行打印?

解决方案

你的代码里fetchone()已经正确获取了同一随机行的question和answer字段,它返回的是一个包含两个元素的元组(比如("问题内容", "答案内容"))。要将两个字段分两行独立打印,直接访问元组的对应元素即可,不需要用for循环遍历:

方法1:通过索引访问

mycursor.execute("SELECT question, answer FROM questions ORDER BY RAND() LIMIT 1")
myresult = mycursor.fetchone()

# 打印第一个元素(question)
print(myresult[0])
# 打印第二个元素(answer)
print(myresult[1])

方法2:拆包赋值(更直观)

mycursor.execute("SELECT question, answer FROM questions ORDER BY RAND() LIMIT 1")
# 直接将元组的两个元素赋值给变量
question, answer = mycursor.fetchone()

print(question)
print(answer)

如果需要更清晰的输出格式,还可以加上标识:

print(f"问题:{question}")
print(f"答案:{answer}")

补充说明

原代码的for row in myresult:其实也会遍历元组的两个元素并分两次打印,但用直接访问的方式更明确,也能避免对遍历逻辑的误解。ORDER BY RAND() LIMIT 1已经保证每次只获取随机的一行,所以两个字段必然属于同一记录。

内容的提问来源于stack exchange,提问作者Zac Attack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 13:50:20