lines = []
while True:
s = input()
if s: # i don't understand. # What does it have in the program?
lines.append(s.upper())
else:
break
for sentence in lines:
print(sentence)
我想了解它。请帮我。非常感谢
答案 0 :(得分:4)
首先,您需要添加缺少的缩进(如Colonbracket所述)
lines = []
while True:
s = input()
if s:
lines.append(s.upper())
else:
break
for sentence in lines:
print(sentence)
由于Python程序的逻辑严重依赖于缩进,因此您在使用缩进时需要格外小心。
有关更多信息,请参见"First Steps Towards Programming" section of Python tutorial
其次,根据我对这段代码的了解,其目的是:
s = input()
)中读取行,直到它从用户(break
)获得空字符串为止。s.upper()
)并存储在列表数据结构(lines.append
)中for sentence in lines: print(sentence)
),然后退出。答案 1 :(得分:1)
在python中,input()方法用于在运行时从用户获取输入。
lines = []
while True:
s = input()
if s: # It checks if the user has entered a string of length>0.
lines.append(s.upper())
else:
break
for sentence in lines:
print(sentence)
顺便说一句,我觉得代码格式不正确。基本上,该代码从用户读取输入并将其存储在列表中,只要用户提供有效的字符串即可。否则,它会中断循环并打印所有行。
答案 2 :(得分:0)
我不是最擅长使用Python的人,但是我认为您的缩进方式已无效?
lines = []
while True:
s = input()
if (s): #pretty sure you're meant to bracket these maybe i wrong tho
lines.append(s.upper())
else:
break
for sentence in lines:
print(sentence)
此外,我不认为For在Pyhton中的工作方式就是这样,但我可能是错的。无论如何,这是一个开始,很抱歉没有超级有用^^
答案 3 :(得分:0)
您的缩进是错误的。 “ else”语句必须在while循环内,否则您将获得无限循环。
在python中,空字符串将被评估为false。只要输入的内容不是空字符串,您的程序就会要求用户输入并将其添加到列表中。如果它是一个空字符串,它将中断while循环,并打印用户在此之前输入的内容。
答案 4 :(得分:0)
lines = []
while True:
s = input()
if s:
enter code here`lines.append(s.upper())
else:
break
for sentence in lines:
print(sentence)
您评论的部分等同于:
if s == True:
enter code here lines.append(s.upper())
它只是一种较短的输入方法