【问题标题】:How do I get rid of the "{}" in my windows output? (Python / SQLite3)如何去除 Windows 输出中的“{}”? (蟒蛇/SQLite3)
【发布时间】:2022-11-24 11:55:45
【问题描述】:

我正在创建一个抽认卡游戏来询问 CompSci 问题。

我正在尝试检索一个随机的“CardFront”,它充当存储在 SQLite3 数据库表中的 varchar,并将结果输出到消息框以“提示”用户提出问题。

我似乎无法弄清楚的唯一问题是为什么它在语句周围带有波浪形括号返回?

from tkinter import *
import sqlite3
from tkinter import messagebox

def retrieve_random_cardfront():
    conn = sqlite3.connect('flashcards.db')
    cursor = conn.cursor()
    cursor.execute("SELECT CardFront FROM FLASHCARDS ORDER BY RANDOM() LIMIT 1;")
    result = cursor.fetchall()
    conn.close()
    messagebox.showinfo(title='Test', message=result[0])

Current Output

【问题讨论】:

  • 看起来消息是一组。试试message = ', '.join(result[0]); messagebox.showinfo(title='Test', message=message)

标签: python sqlite


【解决方案1】:

您可以尝试将此作为修复,但此处发生的情况尚不清楚。也许检查结果对象的__repr__

from tkinter import *
import sqlite3
from tkinter import messagebox

def retrieve_random_cardfront():
    conn = sqlite3.connect('flashcards.db')
    cursor = conn.cursor()
    cursor.execute("SELECT CardFront FROM FLASHCARDS ORDER BY RANDOM() LIMIT 1;")
    result = cursor.fetchall()
    conn.close()
    messagebox.showinfo(title='Test', message=str(result[0]).strip('{').strip('}'))

【讨论】:

    【解决方案2】:

    我认为您可以实现类似这样的操作以删除该“{}”。但由于我不知道使用 SQLite,我可以给你一个更准确的答案。

    data = "{Data}"
    data = data.replace(data[0], "")
    data = data.replace(data[-1], "")
    print(data)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-11
      • 2022-01-09
      • 2010-11-03
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      相关资源
      最近更新 更多