본문 바로가기

Python

(5) Python: 제어문 (조건문, 리스트, 반복문)

제어문: 프로그래밍에서 가장 중요한 부분

-> (조건문과 반복문을 합쳐 제어문이라고 함)

 

<제어문을 사용하는 이유 및 종류>

-> 프로그램은 기본적으로 위에서 아래로 순차적으로 실행됨.

하지만 경우에 따라 명령 A, B 중 하나만 선택하여 실행하고 싶을 때가 있음 -> 조건문 사용

명령들을 반복해서 실행하고 싶을 때 -> 반복문


<조건문>

<조건문 예제1: 비밀번호가 같으면 PASS가 되는 문제>

1234가 아닌 다른 것을 입력하면 아무것도 출력되지 않음: 비교연산에 대한 결과가 False가 되어 If문의 명령블록을 넘어가게 됨
else문으로 입력되는 비밀번호가 다른 경우에도 출력되게끔 한 경우
elif를 통해 다른 조건 추가

<예제2: 평균에 따른 합불판단>

> 프로그램 사용자로부터 국,수,영 성적이 입력된다. 세 과목의 평균 점수가 60점 이상이면 합격임을 알려주는 프로그램을 작성해보자

 

 

<리스트>

리스트: 많은 정보들을 간편하게 한 번에 저장하기 위함
리스트명 = [데이터1, 데이터2, ... ,데이터n]
(빈 리스트도 만들 수 있음)

 

 

<리스트 데이터 접근하기>

 

<데이터 조작하기>

> 데이터 추가: 리스트.append(데이터)
> 데이터 할당: 리스트[인덱스] = 데이터
> 데이터 삭제: del 리스트[인덱스]
> 슬라이싱: 리스트[시작: 끝+1] (특정리스트의 부분을 뽑아오는 것)
> 리스트 길이: len(리스트)
> 리스트 정렬: 리스트.sort() (오름차순으로 다시 재정렬 됨)

 

실행 코드

> sort 부분에서 fruit.sort(reverse = True)를 해주면 역으로 정렬됨

코드에 따른 결과

 

<반복문>

> 반복문: 반복되는 코드를 반복문을 통해 간단하게 축약해서 사용할 수 있다

 

> 시퀀스 자료형 (Sequence Data Type): 순서가 있는 자료형
1. 리스트
2. 문자열
3. Range 객체
ex) range(10) : 0 ~ 9까지 숫자를 포함하는 range 객체를 만들어줌
4. 튜플

5. 딕셔너리

 

> for문 사용법
for 변수 in 시퀀스 자료:
    명령문

 

> 실행코드

# 리스트 반복문
coffees = ["라떼","아아","콜부"]

for coffee in coffees: #리스트 자료형은 보통 복수형태로, 변수형태는 리스트 자료형의 단수 형태로 보통 작성
    print("선택한 커피는", coffee, "입니다") #데이터가 더 이상 없을 때까지 출력됨

# 문자열 사용 반복문
ABCDE = "abcde"

for word in ABCDE:
    print(word) #하나씩 다 출력됨

# Range 객체 사용
for i in range(5):
    print(i)

# Range 범위도 설정 가능 range(1,5): 두 번째부터 마지막까지 (1~4)    
# Range 단계도 설정 가능 range(시작, 끝+1, 단계): 단계는 몇 칸씩 띄어서 할건지

 

코드에 따른 결과

> while문 사용

for을 쓸 때: 반복할 횟수가 정해졌을 때
while:  반복할 횟수가 정해지지 않았을 때 (조건에 따른 반복문일 때)

> while 사용법
초기식 (반복문에 사용되는 반복문 변수에 대한 값 지정)
while 조건식: (조건문: 반복에 대한 조건을 판별하는 곳)->False가 될 때까지
    반복할 명령
    증감식 (반복문 변수를 변경하는 곳)

 

> 무한루프
while True:
    반복할 명령
    if 조건식: 
        break (break는 가장 가까운 한 반복문만 탈출)

 

> 실행코드

i=0 # 초기식
while i <20: # 조건식
    print(i, "숫자체크")
    i += 1 # 증감식

# 무한루프
while True:
    x=input("종료하려면 exit을 누르세요")
    if x == "exit":
        break    

 

코드에 따른 결과