我roster.py
在 pset7 中的函数正常工作,除了它返回姓名和出生年份的 4 或 5 个副本而不是一个。通过调试可以看到问题出在results变量上。它存储所有复制粘贴的名称而不是一个名称。
这是我的代码:
import sys
from cs50 import SQL
if len(sys.argv) != 2:
print("Needs two command-line argument")
exit(1)
db = SQL("sqlite:///students.db")
house = sys.argv[1]
results = db.execute("SELECT * FROM students WHERE house = ? ORDER BY last ASC, first ASC", house)
for row in results:
if row["middle"] != None:
print(f'{row["first"]} {row["middle"]} {row["last"]}, born {row["birth"]}')
else:
print(f'{row["first"]} {row["last"]}, born {row["birth"]}')
进入你的students.db,进入students表,清空你的表,然后运行以下命令并确保运行一次import.py
$ python import.py characters.csv
$ python roster.py Gryffindor
如果您多次运行 import.py 那么将会有更多的副本,您将需要清空表
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句