因此,我的任务是询问用户的名字,直到他们按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]))
1条答案
按热度按时间7vhp5slm1#
使用check 50链接阅读详细的错误信息和/或重新阅读说明。当有3个或更多名称时,解决方案与预期输出不匹配。
当有3个或更多名称时,预期输出:
程序输出(比较逗号):
另外,你读过关于
inflect
模块的提示了吗?虽然不是必需的,但它在另一个pset中会很有帮助。