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가 줄바꿈을 하므로 셋째 출력은 빈 줄입니다. 아무것도 안 보인다고 실행 실패로 생각하지 말고 마지막 ‘끝’ 앞에 빈 줄이 있는지 확인하세요.
아이에게 물어볼 세 가지
'왕새우'*3에 공백이 없는 이유는 무엇일까요? 반복하는 문자열을 가리켜 설명해보세요.'별'*0다음에는 왜 빈 줄이 남을까요? 문자열의 내용과 print의 줄바꿈을 구별해보세요.'2'*3은 6일까요, 222일까요? 실행 전에 숫자 2와 문자열 '2'의 차이를 설명해보세요.
마지막 질문의 확인 코드와 출력입니다.
print('2' * 3)
222
오늘은 문자열 한 글자 또는 반복 횟수 하나만 바꾸고, 예상과 실제 결과를 나란히 기록합니다. 틀린 예상은 무엇을 다시 살필지 알려주는 자료입니다.