该网站告诉我,我在末尾打印了一个额外的换行符。我真的不知道它在哪里,或者是什么原因造成的。我以为这是我在("Name: ")
上放空格的地方,但是不,不是。
listo = []
name = input("Name: ")
listo.append(name)
while name:
while name:
name = input("Name: ")
if name:
listo.append(name)
listo.sort()
listo.reverse()
for name in listo:
print(name)
错误:
答案 0 :(得分:3)
看着
production:
url: <%= ENV.fetch('DATABASE_URL', '').sub(/^postgres/, "postgis") %>
当您在输入行上按回车键而不输入其他内容时,此while循环终止,因此设置了while name:
name = input("Name: ")
listo.append(name)
,在while循环的情况下,其求值为name=""
。但是无论如何,您都将其添加到列表false
中。为此,当您这样做
listo
它会打印您输入的所有实际名称,再加上一个空行,并在末尾添加换行符(由打印添加)。
要解决此问题,您可以在while循环中检查名称是否为空:
for name in listo:
print(name)
但是,如果根本没有读取任何名称(从循环之前的第一个while name:
name = input("Name: ")
if name:
listo.append(name)
开始),那么仅这样做将在末尾添加\n
。另外,您可以更改while循环中各行的顺序,然后在其中移动每个追加:
listo.append(name)