1)
x='abcd'
for i in range(len(x)):
x[i].upper()
print(x)
에서 왜 출력 결과가 ABCD가 아니라 abcd로 나오는것?
2)
x='abcdef'
i="a"
while i in x:
x=x[:-1]
print(i,end=" ")
에서 x[:-1]이 무엇? 뭔뜻인지 몰것음. x[1:]은 뭐고 x[:-1]은 뭐임?
3)
x='abc'
for i in x:
print(i.upper())
실행하면
A
B
C
나오는데 i를 출력했는데 왜 A,B,C가 나옴? 1,2,3 이런거 나와야 하는거 아닌가오?
초보라 잘 모루겟소오
(1) upper는 문자열을 변경하는 함수가 아닌 변경된 값을 반환하는 함수이기 때문
(2) x[a:b] 하면 x의 a ~ (b-1) 번째 부분을 말함, -1, -2 같은 건 뒤에서부터 1, 2 번째 이렇게 세는것
(3) for i in x: 를 하면 x의 한 글자씩을 i에 집어넣게 됨. 그리고 여기에 i.upper()를 하면 대문자화되서 나온다.
2번 또 질문인데 [:-1]은 왜 a가 6개 나오고 [1:]은 왜 a가 하나 나옴? 뒤에서 첫번째랑 그냥 첫번째 아님?
예를 들어서 "abcdef"[1:] 을 하면 "abcdef" 에서 1번째 (b) 부터 끝까지라는 뜻임, 그 반대로 뒤에만 수가 있으면 처음부터 거기까지라는 뜻이고
위의 코드에서 반복문을 따라가서 돌아가면, 'a'라는 글자가 처음으로 사라질때까지 반복하게 됨. [1:]을 하면 앞의 글자가 하나씩 사라지니까 한 번만 돌고 종료, [:-1]을 하면 뒤의 글자가 사라지니까 끝까지 반복됨
아 이제 알겠다. ㄱㅅㄱㅅ
rgb존나 친절하네 나같음 개무시했는데