2015-01-15 4 views
-5
lines = [] 
while True: 
    value1 = raw_input("\t ") 
    if value1: 
     lines.append(value1.upper()) 
    else: 
     break 

당신은 람다() 또는 I 가능한 코드를 짧게 할 필요가있는 것은 그래서를 사용하여 수 ..어떻게이 줄을 짧게 할 수 있습니까 ..?

+4

이 아니다 [CodeGolf.SE] (HTTP : //codegolf.stackexchange.com/). 아마 당신은 거기에서 그것을 시도해야합니다. – dmg

+1

'line'은 어떻게'lines'이 되었습니까? –

+0

왜 단축해야합니까? .. – Maroun

답변

0

두 줄이 짧은 짧은합니까, 나는 가독성을 주장 할 것이다 :

lines = [] 
value1 = raw_input("\t ") 
while value1: 
    lines.append(value1.upper()) 
    value1 = raw_input("\t ") 

if-else 절을 사용하여 루프를 종료하는 대신 루프의 조건을 확인합니다. value1 범위를 while 루프의 범위를 벗어나지 만 확인합니다. 이것은 많은 경우에 좋지만, 일부에서는 더 나쁩니다.

0

당신은 지능형리스트가 될 수있다이 경우

lines = [] 
for value in iter(raw_input, ""): 
    if value: 
     lines.append(value.upper()) 

에서 빈 문자열입니다 센티넬 값 ITER를 사용할 수 있습니다

lines = [value.upper() for value in iter(raw_input, "") if value] 
+0

@ 패러 그래프의 작업 –

+0

@ ParthMehta. 그래, 나는 그럴 것이라고 확신했다;) –

관련 문제