lines = []
while True:
value1 = raw_input("\t ")
if value1:
lines.append(value1.upper())
else:
break
尽可能使用lambda()或任何我必须尽可能缩短代码的东西,这样做..
答案 0 :(得分:0)
两条线更短,我认为更好的可读性:
lines = []
value1 = raw_input("\t ")
while value1:
lines.append(value1.upper())
value1 = raw_input("\t ")
我们不是使用if-else
子句来退出循环,而是检查循环中的条件,但这会使value1
的范围超出while
循环的范围。虽然在许多情况下都很好,但有些情况更糟。
答案 1 :(得分:0)
您可以将iter与sentinel值一起使用,在这种情况下为空字符串
lines = []
for value in iter(raw_input, ""):
if value:
lines.append(value.upper())
可以成为列表理解:
lines = [value.upper() for value in iter(raw_input, "") if value]