cs50 pset7 房子名册

米马茨

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章