cs50 pset7 房屋语法

cs50 pset7 houses syntax

我正在处理问题的 roster.py 部分,但出现错误:

   File "roster.py", line 17
    print(f"{row["first"]} {row["middle"]} {row["last"]}, born {row["birth"]}")
                      ^
SyntaxError: invalid syntax

我的代码:

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 = ?", 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"]}")

如果您尝试打印行["middle"] 值等,请使用此选项。

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

你的引述有误。试试这个:

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