2를 세 번 더하기와 글자를 세 번 반복하기

메타센스 처음 파이썬 → 1 ~ 10 → 문자열, 숫자형 자료 구분의 ‘숫자 연산과 문자열의 독특한 연산’ 예제입니다. 2*3과 '왕새우'*3은 같은 곱하기 기호를 쓰지만 출력은 다릅니다. 실행 전에 어떤 결과가 나올지 말해보세요.

수업 원본과 실제 출력

print(2*3)
print(2/3)
print('2' + '3')
print('왕새우' * 3)

Python 3에서 별도 입력이나 라이브러리 없이 실행한 결과입니다.

6
0.6666666666666666
23
왕새우왕새우왕새우
  • 2*3: 두 숫자의 곱 6입니다.
  • 2/3: 나눗셈 결과를 소수로 출력합니다. 컴퓨터에 표시된 유한한 자릿수는 수학에서의 무한소수 전체가 아닙니다.
  • '2' + '3': 두 문자열을 이어 붙여 23이 됩니다. 숫자 덧셈의 5와 구별하세요.
  • '왕새우' * 3: 문자열을 세 번 반복합니다. 자동으로 공백이나 줄바꿈을 넣지 않습니다.

공백 하나만 넣으면 무엇이 달라질까요?

원본 마지막 줄의 문자열 끝에 공백을 하나 추가한 확장 예제입니다.

print('왕새우 ' * 3)
왕새우 왕새우 왕새우 

단어 사이에 공백이 생기고 마지막 단어 뒤에도 공백이 남습니다. 공백도 문자열의 한 글자이기 때문에 반복 대상에 포함됩니다. 보기 편해졌다는 느낌에서 멈추지 말고 어느 글자를 추가했는지 설명하세요.

반복 횟수를 바꾸는 확인 실험

print('별' * 1)
print('별' * 4)
print('별' * 0)
print('끝')
별
별별별별

끝

0번 반복하면 빈 문자열이 됩니다. print가 줄바꿈을 하므로 셋째 출력은 빈 줄입니다. 아무것도 안 보인다고 실행 실패로 생각하지 말고 마지막 ‘끝’ 앞에 빈 줄이 있는지 확인하세요.

아이에게 물어볼 세 가지

  1. '왕새우'*3에 공백이 없는 이유는 무엇일까요? 반복하는 문자열을 가리켜 설명해보세요.
  2. '별'*0 다음에는 왜 빈 줄이 남을까요? 문자열의 내용과 print의 줄바꿈을 구별해보세요.
  3. '2'*3은 6일까요, 222일까요? 실행 전에 숫자 2와 문자열 '2'의 차이를 설명해보세요.

마지막 질문의 확인 코드와 출력입니다.

print('2' * 3)
222

오늘은 문자열 한 글자 또는 반복 횟수 하나만 바꾸고, 예상과 실제 결과를 나란히 기록합니다. 틀린 예상은 무엇을 다시 살필지 알려주는 자료입니다.

숫자와 문자열 출력 비교 · 처음 파이썬 코드 노트 · 파이썬 과정 안내