질문 드립니다
395
投稿した質問数 4
# 문자열 나누기
statements = "나는 열심히 파이썬 공부를 합니다."
result = ""
print(statements.split())
for a in statements:
result += a.strip()
print(result)
이렇게 했을 때는 여백없이 result 값이 나옵니다.
# 문자열 나누기
statements = "나는 열심히 파이썬 공부를 합니다."
result = ""
print(statements.split())
for a in statements:
result += a
print(result)
이렇게 했을 때는 statements와 동일한 값이 나와서
print('나는'+'열심히')를 실행해보았는데 나는열심히 라고 여백이 없이 나옵니다
2번째의 경우는 print('나는'+'열심히') 와 동일해서 여백이 없이 나와야 하는거 아닌가요?
回答 5
1
전자의 경우
result += a.strip()
에서 .strip() 함수를 통하여 여백을 감하며 더했기에 result가 statements에서 여백을 뺀 문자열이 되는 것이고
후자의 경우
result += a
이므로 여백이 있든 없든 문자를 모두 더하기에 result = statements가 되는 것 같습니다.
'나는'+'열심히'와는 다른 것이, statements는 어떻게 보면 '나는' + ' '(여백) + '열심히'이기에
후자의 경우 여백이 있이 나오는 것 같습니다.
0
[문자열.split()]은 원래 문자열의 양끝부터 ()내부의 문자가 연속으로 있는 곳까지 삭제한 문자열을 반환하는 함수에요. 즉 문자열 중간에 있는 값은 제거하지 않아요.
()내부에 아무것도 입력하지 않으면 양 끝 부터 공백(띄어쓰기, 줄바꿈, 탭)을 제거하는게 default구요.
따라서 문자열을 문자로 나눠서 해당문자가 공백이면 삭제하고 다시 문자열로 합치는 방식으로 공백을 제거할 수도 있지만,
차라리 [문자열.replace()]를 사용하시면 편해요.이 함수는 문자열에서 ()내부의 내용과 같은 문자(열)을 교체하는 함수로,
[문자열.replace(a,b)]로 쓰시면, 문자열에서 a를 찾아서 b로 교체합니다.
a에 ' ', b에 ''를 입력하시면 공백들을 삭제해줍니다.
0
print(statements.split())
for a in statements:
result += a
print(result)
에서 문자를 하나씩 더하는 코드는
for a in statements:
result += a
이건데, 여기에서는 여백을 없애는 코드가 없어요!
.split() 함수가 여백 없이 리스트에 저장을 하지만 문자열 만드는 데에는 사용되지 않았습니다
혹시 이 강사분 c언어 강의는 없나요?
0
50
1
변수가 포함된 문장을 쓸 때의 공백 문제
0
576
1
while.py
0
296
0
강의 질문
0
279
1
파이썬 인터프리터
0
399
0
인터프리터 설치가 안되요
0
261
0
파이썬 인터프리터 설치
0
437
0
ex05 질문이요
0
252
1
5.0은 왜 안되나요?
0
402
1
마지막 숫자 입력하는 문제
0
328
1
조건문 실습2 ex05에서
0
297
1
마지막 예제 그냥 for i in range(5,0,-1) 해도 되지 않나요?
0
268
1
함수의 사용방법이 궁금합니다
0
319
1
"끝"을 입력하면 에러가 발생하여 질문드립니다.
0
392
3
파이참 turtle_graphic 실행 오류
0
538
0
파이참에서 pi가 없어요
0
194
0
완강하신분들께 여쭙니다! 본 강의 추천하시나요?
0
469
2
설치하고 cmd에서 파이선이라고 치니까 마이크로소프트 스토어에 다운로드 창이 나와버립니다
1
382
2
10강 변수와 계산(실습-2) ex06 질문
0
288
1
실행이 안돼요.
0
276
1
31분 영상에서 질문있습니다
0
233
1
ex08에서
0
200
1
터틀이 안불러와줘요
0
266
1
반복문 피보나치 수열 질문
0
436
2

