【问题标题】:CS50 check50 failing on roster.py PSET7 only showing none for namesCS50 check50 在 roster.py PSET7 上失败,只显示没有名称
【发布时间】:2020-12-04 11:05:59
【问题描述】:

我一直在 CS50 上处理 PSET7,代码在终端中显示正确的输出: terminal output

但是,当我提交代码并转到 check50 时,它显示我在名册检查中失败了: CS50 Check50 output

我最后部分的代码是:

for rows in range(len(query)):
# set variables for each field
first = str(query[rows].get('FIRST'))
middle = query[rows].get('middle')
last = query[rows].get('LAST')
born = query[rows].get('birth')

# check if middle is blank
if (middle == None):
    print(f'{first} {last}, born {born}')

else:
    print(f'{first} {middle} {last}, born {born}')

我一生都无法弄清楚为什么它显示名字和姓氏的“无”但显示中间名?

【问题讨论】:

    标签: python sql cs50


    【解决方案1】:

    请记住,如果键不存在,python get 返回 None,而不是返回键错误。最可能的解释是查询返回的字典中的列名(键)不是大写的。

    【讨论】:

    • 谢谢,我不明白为什么当我在终端中运行代码时它会起作用。无论如何,我决定将名称更改为小写,现在它可以工作了,这意味着 check50 db 设置为小写名称,而不是我拥有的大写。现在,当我运行检查时,我得到 6/6。
    猜你喜欢
    • 2022-12-06
    • 2021-12-27
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多