[혼공학습단 13기] 1주차 과제

양승빈·2025년 1월 9일
0

혼공학습단 13기

목록 보기
2/9

1주차 과제

  • 기본 과제: p.101 3~5번 실행 결과 쓰고 인증하기

1. (P.101) 3번. 다음 프로그램의 실행 결과를 예측해 보세요

print("# 연습 문제")
print("\\\\\\\\")
print('-'*8)

<예측>

# 연습 문제
\\\\
--------

<결과>

<특이사항>

  1. print("# 연습 문제")
  • '#'은 코드 내 영향을 미치지 않는 주석을 사용할 때 이용하지만, print문 내에서는 문자열 처리되어 결과와 같이 출력된다.
  1. print("\\\\")
  • print 문은 문자열 처리된다고 했으나, 특수 기호가 사용되는 경우 말이 다르다. 특수기호는 백슬래시('\')를 같이 사용해야 출력이 된다
  • 위 경우에는 백슬래시 하나를 출력하기 위해 두 개의 백슬래시를 입력해야 한다.
  1. 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. 해당 코드는 문자열에 대한 슬라이싱을 진행하는 코드이다. 문자열은 맨 앞부터 '1'이 아닌 '0'으로 처리된다.

  2. print('안녕하세요'[1:3])

  • 해당 구문은 1부터 2까지 출력하라는 의미와 같교다.
  • 슬라이싱의 경우 마지막 숫자가 지정되어 있는 경우 해당 번호 앞까지 출력하라는 의미이다.
  1. print('안녕하세요'[1:])
  • 해당 구문은 1부터 끝까지 출력하라는 의미와 같다.
  • 슬라이싱의 경우 시작 번호는 지정되었으나 마지막 번호가 지정되어 있지 않다면, 시작 번호부터 끝까지 출력하라는 의미이다.
  1. *print('안녕하세요'[:3])
  • 해당 구문은 처음부터 2까지 출력하라는 의미와 같다.
  • 슬라이싱의 경우 시작 번호는 지정이 안 되어 있으나 마지막 번호가 지정되어 있다면, 처음부터 지정번호 앞까지 출력하라는 의미이다.

0개의 댓글

관련 채용 정보