def initials(phrase):
words = phrase.split()
result = ""
for word in words:
print(word)
result += word[0].upper()
print(result)
return result
print(initials("Universal Serial Bus")) # Should be: USB
print(initials("local area network")) # Should be: LAN
print(initials("Operating system")) # Should be: OS
Universal
U
Serial
US
Bus
USB
USB
local
L
area
LA
network
LAN
LAN
Operating
O
system
OS
OS
코세라 강의를 들으면서 나왔던 간단한 퀴즈 문제였는데 헷갈리는 개념이라서 다시 가져왔다.
해당 퀴즈는 def에 들어가는 문자열의 첫번째 문자를 대문자로 바꾸어 각각 USB,LAN,OS로 출력하면 됀다.
중간에 print문은 어떻게 쌓여가는지 확인하기 위해 추가한 것이고 지워도 무방하다.
' += ' 연산은
왼쪽 변수(result)에 오른쪽 값( word[0].upper() )를 더한 후, 결과를 왼쪽 변수(result)에 할당 한다.
해당 연산자는 아래와 같이 count를 증가 시킬 때 주로 사용해서 문자열을 더할 때 사용하려니 어색했다.
count= 0
for i in range(10):
if i % 2 ==0:
count += 1
그래서 해당 코드를 다시 살펴보면.
result = ""
...
result += word[0].upper()
for문을 통해 split된 word의 첫번째 알파벳을 대문자로 바꾸고 이를 result에 더하고
해당 변수가 곧 새로운 result가 되어 계속 더해진다.
이를 통해 USB,LAN,OS 가 출력됀다.