我roster.py在 pset7 中的函數正常工作,除了它返回 4 或 5 個姓名和出生年份的副本,而不是僅返回一個。通過調試可以看出問題出在結果變量上。它存儲所有復制粘貼的名稱而不是一個名稱。這是我的代碼:import sysfrom cs50 import SQLif 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"]}')
1 回答

Cats萌萌
TA貢獻1805條經驗 獲得超9個贊
進入你的 students.db,進入 students 表,清空你的表,然后運行以下命令并確保運行 import.py 一次
$ python import.py characters.csv $ python roster.py Gryffindor
如果你多次運行 import.py 那么會有更多的副本,你將需要清空表
添加回答
舉報
0/150
提交
取消