如何将排行榜创建为数据库
How to create a leaderboard as a database
我需要创建一个排名前 5 的数据库,但是,我尝试的方法没有用 - 它引发了许多不同的错误(下面的代码):
import sqlite3
winner_name = input("Name: ")
winner_score = input("Score: ")
db = sqlite3.connect('C:\Users\user\Desktop\WORK\CS\NEA\Python')
c = db.cursor()
c.execute("""CREATE TABLE Leaderboard
(Place,text,
Name, text,
Score, text)
""")
c.execute("""INSERT INTO Leaderboard
VALUES ("1",winner_name,winner_score)""")
db.commit()
c.execute('SELECT * FROM Leaderboard')
row = c.fetchone()
print(row)
db.close()
问题:
以“db =”开头的第 4 行在括号中出现错误。我最初认为这与我正在尝试制作数据库和程序混淆的事实有关,但是,我不确定。
在开始“VALUES”的一半左右的行上,我想从代码的开头将 winner_name 和 winner_score 作为变量,但我不确定如果我做对了或错了(它像语音一样突出显示为绿色而不是黑色)。
感谢您的帮助。
看看接下来的事情
sqlite3.connect 应该接收数据库文件名,例如 example.db
(不是您的文件夹)
creating database 有一个 next syntax,在你的情况下 Place
和 text
之间不需要逗号:
Place,next
(错误)-> Place text
(正确)
在插入 table 行时需要传递值(在您的情况下,您传递的是字符串):
c.execute(f"""INSERT INTO Leaderboard
VALUES ("1","{winner_name}",{winner_score})""")
(注意为 winner_name 加上引号 "
,因为数据库正在等待此值的文本 )
我需要创建一个排名前 5 的数据库,但是,我尝试的方法没有用 - 它引发了许多不同的错误(下面的代码):
import sqlite3
winner_name = input("Name: ")
winner_score = input("Score: ")
db = sqlite3.connect('C:\Users\user\Desktop\WORK\CS\NEA\Python')
c = db.cursor()
c.execute("""CREATE TABLE Leaderboard
(Place,text,
Name, text,
Score, text)
""")
c.execute("""INSERT INTO Leaderboard
VALUES ("1",winner_name,winner_score)""")
db.commit()
c.execute('SELECT * FROM Leaderboard')
row = c.fetchone()
print(row)
db.close()
问题:
以“db =”开头的第 4 行在括号中出现错误。我最初认为这与我正在尝试制作数据库和程序混淆的事实有关,但是,我不确定。
在开始“VALUES”的一半左右的行上,我想从代码的开头将 winner_name 和 winner_score 作为变量,但我不确定如果我做对了或错了(它像语音一样突出显示为绿色而不是黑色)。
感谢您的帮助。
看看接下来的事情
sqlite3.connect 应该接收数据库文件名,例如
example.db
(不是您的文件夹)creating database 有一个 next syntax,在你的情况下
Place
和text
之间不需要逗号:Place,next
(错误)->Place text
(正确)在插入 table 行时需要传递值(在您的情况下,您传递的是字符串):
c.execute(f"""INSERT INTO Leaderboard
VALUES ("1","{winner_name}",{winner_score})""")
(注意为 winner_name 加上引号 "
,因为数据库正在等待此值的文本 )