1주차 과제
- 기본 과제: p.101 3~5번 실행 결과 쓰고 인증하기
1. (P.101) 3번. 다음 프로그램의 실행 결과를 예측해 보세요
print("# 연습 문제")
print("\\\\\\\\")
print('-'*8)
<예측>
# 연습 문제
\\\\
--------
<결과> 
<특이사항>
- print("# 연습 문제")
- '#'은 코드 내 영향을 미치지 않는 주석을 사용할 때 이용하지만, print문 내에서는 문자열 처리되어 결과와 같이 출력된다.
- print("\\\\")
- print 문은 문자열 처리된다고 했으나, 특수 기호가 사용되는 경우 말이 다르다. 특수기호는 백슬래시('\')를 같이 사용해야 출력이 된다
- 위 경우에는 백슬래시 하나를 출력하기 위해 두 개의 백슬래시를 입력해야 한다.
- print('-'*8):
- print 문은 문자열 처리 된다고 했으나, 따옴표 안에 있는 자료에 한해 처리가 진행되며, 따옴표 밖에 있는 경우에는 입력한 코드 처리 방식 그대로 처리된다.
- 위 경우에는 문자열'-'을 8번 출력한다는 의미와 같다.
2. (p.101) 4번. 다음 프로그램의 실행 결과를 예측해보세요. 그런데 이 예제를 실행하면 오류가 발생합니다. 몇 행에서 어떤 오류가 발생할까요? 그리고 그 이유는 무엇인지 적어보세요.
print('안녕하세요'[1])
print('안녕하세요'[2])
print('안녕하세요'[3])
print('안녕하세요'[4])
print('안녕하세요'[5])
<예측>
- 오류: 5번째 행('안녕하세요'[5])에서 IndexError 발생
- 이유: 안녕하세요에서 5번째로 지정된 인덱스가 존재하지 않아 발생하는 오류이다.
- pyhton에서는 Index 지정이 0부터 이루어지며, 해당 구문에서는 0이 '안'을 의미한다.
<결과> 
3. (p.101) 5번. 다음 프로그램의 실행 결과를 예측해 보세요.
print('안녕하세요'[1:3])
print('안녕하세요'[2:4])
print('안녕하세요'[1:])
print('안녕하세요'[:3])
<예측>
녕하
하세
녕하세요
안녕하
<결과> 
<특이사항>
-
해당 코드는 문자열에 대한 슬라이싱을 진행하는 코드이다. 문자열은 맨 앞부터 '1'이 아닌 '0'으로 처리된다.
-
print('안녕하세요'[1:3])
- 해당 구문은 1부터 2까지 출력하라는 의미와 같교다.
- 슬라이싱의 경우 마지막 숫자가 지정되어 있는 경우 해당 번호 앞까지 출력하라는 의미이다.
- print('안녕하세요'[1:])
- 해당 구문은 1부터 끝까지 출력하라는 의미와 같다.
- 슬라이싱의 경우 시작 번호는 지정되었으나 마지막 번호가 지정되어 있지 않다면, 시작 번호부터 끝까지 출력하라는 의미이다.
- *print('안녕하세요'[:3])
- 해당 구문은 처음부터 2까지 출력하라는 의미와 같다.
- 슬라이싱의 경우 시작 번호는 지정이 안 되어 있으나 마지막 번호가 지정되어 있다면, 처음부터 지정번호 앞까지 출력하라는 의미이다.