猿问

cs50 pset7 房屋花名册

我roster.py在 pset7 中的函数正常工作,除了它返回 4 或 5 个姓名和出生年份的副本,而不是仅返回一个。通过调试可以看出问题出在结果变量上。它存储所有复制粘贴的名称而不是一个名称。


这是我的代码:


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"]}')


犯罪嫌疑人X
浏览 104回答 1
1回答

Cats萌萌

进入你的 students.db,进入 students 表,清空你的表,然后运行以下命令并确保运行 import.py 一次$ python import.py characters.csv $ python roster.py Gryffindor如果你多次运行 import.py 那么会有更多的副本,你将需要清空表
随时随地看视频慕课网APP

相关分类

Python
我要回答