我正在制作一个赌场作为学校项目,我正在制作一种让玩家观看他们最后5场比赛的方式, 到目前为止,我的代码如下所示

cursor.execute(f"""SELECT P1_Outcome, P2_Outcome, P3_Outcome, P4_Outcome, P5_Outcome FROM Game_History WHERE username = '{username}' ORDER BY RecordID DESC LIMIT 5 """)
playeroutcomes = (cursor.fetchone())

然而,正如你可能假设的那样,这会给出一个变量的所有结果,这不是我想要的.我想要将每个项目(P1_Outputment、P2_Output等)逐个附加到一个列表中,这样我就可以遍历它并显示各自的结果.

通过这样做,我可以非常低效地实现这一点

cursor.execute(f"""SELECT P1_Outcome FROM Game_History WHERE username = '{username}'""")
playeroutcomes.append(cursor.fetchone())
cursor.execute(f"""SELECT P2_Outcome FROM Game_History WHERE username = '{username}'""")
playeroutcomes.append(cursor.fetchone())
cursor.execute(f"""SELECT P3_Outcome FROM Game_History WHERE username = '{username}'""")
playeroutcomes.append(cursor.fetchone())
cursor.execute(f"""SELECT P4_Outcome FROM Game_History WHERE username = '{username}'""")
playeroutcomes.append(cursor.fetchone())
cursor.execute(f"""SELECT P5_Outcome FROM Game_History WHERE username = '{username}'""")
playeroutcomes.append(cursor.fetchone())

然而,由于我想展示过go 5场比赛,这将是太多的线来证明. 知道我该怎么做吗我对sqlite非常陌生,所以如果我的代码很烂,我道歉.

推荐答案

你可以将结果解包成[*playeroutcomes] = cursor.fetchone()个字符的列表

Python相关问答推荐

在Python中对分层父/子列表进行排序

Pydantic 2.7.0模型接受字符串日期时间或无

比较两个数据帧并并排附加结果(获取性能警告)

try 在树叶 map 上应用覆盖磁贴

Pandas - groupby字符串字段并按时间范围 Select

删除字符串中第一次出现单词后的所有内容

在Python中动态计算范围

我对我应该做什么以及我如何做感到困惑'

如何从数据库上传数据到html?

python中的解释会在后台调用函数吗?

* 动态地 * 修饰Python中的递归函数

Python—转换日期:价目表到新行

当条件满足时停止ODE集成?

如何在Python Pandas中填充外部连接后的列中填充DDL值

使用SeleniumBase保存和加载Cookie时出现问题

Python将一个列值分割成多个列,并保持其余列相同

Pandas 数据帧中的枚举,不能在枚举列上执行GROUP BY吗?

如何将列表从a迭代到z-以抓取数据并将其转换为DataFrame?

利用广播使减法更有效率

PYODBC错误(SQL包含-26272个参数标记,但提供了235872个参数,HY 000)