스터디/파이썬 스터디 강의자료

[1팀/지다인] 4차시 파이썬 스터디 - 반복문

알 수 없는 사용자 2023. 3. 30. 11:34

4차시_반복문_강의안.pdf
0.51MB
4차시_반복문_과제.pdf
0.18MB

💡 데이터 과학을 위한 파이썬 프로그래밍을 수업에 맞게 정리한 교안입니다. 무단 공유와 배포는 금지합니다.

  • w3 review
    • 조건문은 조건에 따라 특정한 동작을 하도록 하는 프로그래밍 명령어이다. 파이썬에서는 조건문을 사용하는 사용하기 위해 if, else, elif 등의 명령 키워드를 사용한다.
    • 비교연산자는 어떤 것이 큰지 작은지, 그리고 같은지를 비교하는 것으로 그 결과는 참이나 거짓이 된다
    • if-else문의 기본 문법
      • if <조건>:
        • <수행 명령>
        else:
      • <수행 명령>

part2 파이썬 기초

chapter04 조건문과 반복문

학습 목표

  • 반복문의 개념과 for문. while문에 대해 학습하고. 반복문의 제어에 대해 이해한다.
  • 문자열 역순 출력 및 십진수를 이진수로 변환하는 실습을 진행한다.

반복문

반복문의 개념

반복문이란 말 그대로 문장을 반복하도록 만드는 것으로, 정해진 동작을 반복적으로 수행할 때 사용하는 명령어이다.

  • 반복문 요소
    • 반복 시작 조건
    • 종료 조건
    • 수행 명령

for문

for는 반복문의 명령 키워드

for looper in [1,2,3,4,5]:
	print("hello")
# 출력값
hello
hello
hello
hello
hello
for looper in [1,2,3,4,5]:
	print(looper)
# 출력값
1
2
3
4
5

for 변수 in range(시작 번호, 마지막 번호, 증가값)

*증가값은 생략 가능

*여기서 마지막번호는 인덱싱 문법

for i in range(1,10,2)
	print("hello")

반복문 알아두면 좋은 상식

  1. 반복문 변수는 대부분 i,j,k로 지정
  2. 반복문은 대부분 0부터 반복을 시작한다
    1. 0부터 시작하는 인덱싱
  3. 반복문을 잘못 작성하면 무한 루프라고 하는 오류가 발생할 수 있다

while문

i = 1
while i < 10:
	print(i)
	i += 1

반복문의 제어

파이썬에서는 필요에 따라 반복문을 제어할 수 있다. 중간에 반복을 종료하거나 실행 중인 반복문을 건너뛸 수도 있다.

break문

break문이 반복문에 있으면 강제로 종료시킬 수 있다.

for i in range(10):
		if i == 5: break
		print(i)
print("end of program")

continue문

continue문이 반복문에 있으면 특정 조건에서 남은 명령을 건너뛰고 다음 반복문을 수행한다.

for i in range(10):
		if i ==5: continue
		print(i)
print("end of program")

else문

else문은 어떤 조건이 완전히 끝났을 때 한 번 더 실행해주는 역할을 한다.

for i in range(10):
		print(i)
else:
		print("end of program")

조건문과 반복문 실습

문자열 역순 출력

sen = "I love you"
rer_sen = ''
for char in sen :
		rer_sen = char + rer_sen
print(rer_sen)

십진수 이진수로 변환

십진수 숫자를 2로 계속 나눈 후 그 나머지를 역순으로 취하면 이진수가 된다.

  • 십진수 이진수 변환 코드 작성해보기(과제)

08.LAB 평균 구하기

문제

이번 Lab에서 지금까지 배운 반복문과 조건문을 토대로 연속적인 평균 구하기 프로그램을 만들어보자. 평균 구하기 프로그램은 이차원 리스트에 있는 값들의 평균을 구하는 프로그램이다. 이번에 사용할 이차원 리스튼 학생들의 과목별 평균 점수가 있는 표이다. 이 표는 엑셀이나 행렬처럼 값이 저장되어 있다. 즉, 국어,수학,영어 점수는 각각 한 행에, 학생 A,B,C,D,E는 한 열에 저장되어 있는 것을 볼 수 있다. 다음 표를 활용하여 평균을 구해보자.

답안

kor_score = [49,80,20,100,80]
math_score = [43,60,85,30,90]
eng_score = [49,82,48,50,100]
midterm_score = [kor_score, math_score, eng_score]

student_score = [0,0,0,0,0]
i = 0
for subject in midterm_score:
	for score in subject:
		student_score[i] += score
		i += 1
	i = 0
else:
	a,b,c,d,e = student_score
	student_average = [a/3, b/3, c/3, d/3, e/3]
	print(student_average)

코드의 오류를 처리하는 방법

버그와 디버그

  • 버그: 프로그램에서의 오류
  • 디버그: 오류를 수정하는 과정
  • 디버깅: 코드에서 오류를 만났을 때 잘못을 찾아내고 고치는 것

오류의 종류와 해결 방법

  • 오류의 발생 이유와 해결 방법을 알아야 함
    1. 문법적 오류
      • 말 그대로 문법적으로 오류가 난 것
      • e.g. 들여쓰기 오류, 오탈자로 인한 오류
      • Indentation Error, NameError
      <aside> 💡 IndentationError란, 들여쓰기 오류를 말하는 것입니다. NameError란, 변수나 함수 선언을 하지 않고 실행하여 나타나는 오류를 말하는 것입니다. Error 발생 시 어느 부분에서 발생했는지 알려주니 천천히 오류가 무엇인지 읽어보고 해결하면 되니 놀랄 필요 없어요😊
    2. </aside>
    3. 논리적 오류
      • 코드를 제대로 작성했다고 생각했음에도 원하는 결과가 나오지 않는 경우가 종종 있음
      • 해결 방법으로 print() 출력
    사실 가장 좋은 방법은 많이 틀리면서 구글링해보며 익히는 것!
  • w3 review
    • 조건문은 조건에 따라 특정한 동작을 하도록 하는 프로그래밍 명령어이다. 파이썬에서는 조건문을 사용하는 사용하기 위해 if, else, elif 등의 명령 키워드를 사용한다.
    • 비교연산자는 어떤 것이 큰지 작은지, 그리고 같은지를 비교하는 것으로 그 결과는 참이나 거짓이 된다
    • if-else문의 기본 문법
      • if <조건>:
        • <수행 명령>
        else:
      • <수행 명령>part2 파이썬 기초학습 목표
        • 반복문의 개념과 for문. while문에 대해 학습하고. 반복문의 제어에 대해 이해한다.
        • 문자열 역순 출력 및 십진수를 이진수로 변환하는 실습을 진행한다.

        반복문

        반복문의 개념
        • 반복문 요소
          • 반복 시작 조건
          • 종료 조건
          • 수행 명령

        for문
        for looper in [1,2,3,4,5]:
        	print("hello")
        
        # 출력값
        hello
        hello
        hello
        hello
        hello
        
        for looper in [1,2,3,4,5]:
        	print(looper)
        
        # 출력값
        1
        2
        3
        4
        5
        
        for 변수 in range(시작 번호, 마지막 번호, 증가값)*여기서 마지막번호는 인덱싱 문법반복문 알아두면 좋은 상식
        1. 반복문 변수는 대부분 i,j,k로 지정
        2. 반복문은 대부분 0부터 반복을 시작한다
          1. 0부터 시작하는 인덱싱
        3. 반복문을 잘못 작성하면 무한 루프라고 하는 오류가 발생할 수 있다

        while문
        반복문의 제어break문
        for i in range(10):
        		if i == 5: break
        		print(i)
        print("end of program")
        
        continue문
        for i in range(10):
        		if i ==5: continue
        		print(i)
        print("end of program")
        
        else문
        for i in range(10):
        		print(i)
        else:
        		print("end of program")
        

        조건문과 반복문 실습
        sen = "I love you"
        rer_sen = ''
        for char in sen :
        		rer_sen = char + rer_sen
        print(rer_sen)
        
        십진수 이진수로 변환
        • 십진수 이진수 변환 코드 작성해보기(과제)

        08.LAB 평균 구하기이번 Lab에서 지금까지 배운 반복문과 조건문을 토대로 연속적인 평균 구하기 프로그램을 만들어보자. 평균 구하기 프로그램은 이차원 리스트에 있는 값들의 평균을 구하는 프로그램이다. 이번에 사용할 이차원 리스튼 학생들의 과목별 평균 점수가 있는 표이다. 이 표는 엑셀이나 행렬처럼 값이 저장되어 있다. 즉, 국어,수학,영어 점수는 각각 한 행에, 학생 A,B,C,D,E는 한 열에 저장되어 있는 것을 볼 수 있다. 다음 표를 활용하여 평균을 구해보자.답안
        코드의 오류를 처리하는 방법
        • 버그: 프로그램에서의 오류
        • 디버그: 오류를 수정하는 과정
        • 디버깅: 코드에서 오류를 만났을 때 잘못을 찾아내고 고치는 것
        오류의 종류와 해결 방법
        • 오류의 발생 이유와 해결 방법을 알아야 함
          1. 문법적 오류
            • 말 그대로 문법적으로 오류가 난 것
            • e.g. 들여쓰기 오류, 오탈자로 인한 오류
            • Indentation Error, NameError
            <aside> 💡 IndentationError란, 들여쓰기 오류를 말하는 것입니다. NameError란, 변수나 함수 선언을 하지 않고 실행하여 나타나는 오류를 말하는 것입니다. Error 발생 시 어느 부분에서 발생했는지 알려주니 천천히 오류가 무엇인지 읽어보고 해결하면 되니 놀랄 필요 없어요😊
          2. </aside>
          3. 논리적 오류
            • 코드를 제대로 작성했다고 생각했음에도 원하는 결과가 나오지 않는 경우가 종종 있음
            • 해결 방법으로 print() 출력
          사실 가장 좋은 방법은 많이 틀리면서 구글링해보며 익히는 것!
      • 버그와 디버그
      • kor_score = [49,80,20,100,80] math_score = [43,60,85,30,90] eng_score = [49,82,48,50,100] midterm_score = [kor_score, math_score, eng_score] student_score = [0,0,0,0,0] i = 0 for subject in midterm_score: for score in subject: student_score[i] += score i += 1 i = 0 else: a,b,c,d,e = student_score student_average = [a/3, b/3, c/3, d/3, e/3] print(student_average)
      • 문제
      • 십진수 숫자를 2로 계속 나눈 후 그 나머지를 역순으로 취하면 이진수가 된다.
      • 문자열 역순 출력
      • else문은 어떤 조건이 완전히 끝났을 때 한 번 더 실행해주는 역할을 한다.
      • continue문이 반복문에 있으면 특정 조건에서 남은 명령을 건너뛰고 다음 반복문을 수행한다.
      • break문이 반복문에 있으면 강제로 종료시킬 수 있다.
      • 파이썬에서는 필요에 따라 반복문을 제어할 수 있다. 중간에 반복을 종료하거나 실행 중인 반복문을 건너뛸 수도 있다.
      • i = 1 while i < 10: print(i) i += 1
      • for i in range(1,10,2) print("hello")
      • *증가값은 생략 가능
      • for는 반복문의 명령 키워드
      • 반복문이란 말 그대로 문장을 반복하도록 만드는 것으로, 정해진 동작을 반복적으로 수행할 때 사용하는 명령어이다.
      • chapter04 조건문과 반복문