python-3.x CS50 Pset4:再见-check50给出错误,但我的结果是正确的

tcbh2hod  于 2023-06-25  发布在  Python
关注(0)|答案(1)|浏览(116)

因此,我的任务是询问用户的名字,直到他们按control-d,然后以Adieu, adieu, to Liesl, Friedrich, and Louisa输出,其中Liesl,Friedrich和路易莎是用户输入的名字。在我的终端中,无论我输入多少名字,结果都是正确的,它们输出正确,但check 50显示皱眉。下面是我的代码:

names = []

while True:
    try:
        #ask for input
        name = input("Name: ")
        #put in the list
        names.append(name)
    except (EOFError, ValueError):
        print()
        break

print("Adieu, adieu, to", end=" ")
#from first to second last, output names by comma
x = int(len(names)-2)
for amount in range(x):
    print(names[amount] , "," , end=" ", sep="")

#use 'and' to output last name
names.reverse()
#if two names in list
try:
      print(str(names[1]), end=" ")
      print("and", str(names[0]))
#if one name in list
except (ValueError, EOFError, IndexError):
    print(str(names[0]))
7vhp5slm

7vhp5slm1#

使用check 50链接阅读详细的错误信息和/或重新阅读说明。当有3个或更多名称时,解决方案与预期输出不匹配。
当有3个或更多名称时,预期输出:

Adieu, adieu, to Liesl, Friedrich, and Louisa
Adieu, adieu, to Liesl, Friedrich, Louisa, and Kurt

程序输出(比较逗号):

Adieu, adieu, to Liesl, Friedrich and Louisa
Adieu, adieu, to Liesl, Friedrich, Louisa and Kurt

另外,你读过关于inflect模块的提示了吗?虽然不是必需的,但它在另一个pset中会很有帮助。

相关问题