본문 바로가기
  • 10.0
파이썬

[파이썬 기초] 파이썬 반복문(for문 vs while문)

by 10.0 2024. 2. 13.
반응형

 이전 [파이썬 기초] 상식▼

더보기

[파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙

 

[파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable

파린이의 복습노트 목차 [파이썬 기초] 1. 데이터 타입과 타입의 변환 2. 화면 출력 함수 print 3. 변수(Variable)와 변수 이름 규칙 데이터 타입 type() 어떤 값의 타입을 확인 할 수 있음 예시) type(1) int

10dot0.tistory.com

[파이썬 기초] 문자열 인덱싱과 슬라이싱 / 문자열 주요 함수

 

[파이썬 기초] 문자열 인덱싱과 슬라이싱 / 문자열 주요 함수

더보기 이전 [파이썬 기초] 상식 [파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙 [파이썬 기초] 이것부터 알고가자, 데이터 타

10dot0.tistory.com

[파이썬 기초] 파이썬 리스트에 대한 기초 공부

 

[파이썬 기초] 파이썬 리스트에 대한 기초 공부

▼ 이전 [파이썬 기초] 상식▼ 더보기 [파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙 [파이썬 기초] 이것부터 알고가자, 데이

10dot0.tistory.com

[파이썬 기초] 자료구조 : 튜플과 딕셔너리 그리고 이차원데이터 /딕셔너리 중첩

 

[파이썬 기초] 자료구조 : 튜플과 딕셔너리 그리고 이차원데이터 /딕셔너리 중첩

▼ 이전 [파이썬 기초] 상식▼ 더보기 [파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙 [파이썬 기초] 이것부터 알고가자, 데이

10dot0.tistory.com

[파이썬 기초] 파이썬 Boolean 타입 / 조건문, 논리 연산자

 

[파이썬 기초] 파이썬 Boolean 타입 / 조건문, 논리 연산자

▼ 이전 [파이썬 기초] 상식▼ 더보기 [파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙 [파이썬 기초] 이것부터 알고가자, 데이

10dot0.tistory.com

 

목차

[파이썬 기초]
1. 파이썬 반복문(for문)
2. for문을 딕셔너리와 튜플 활용하기
3. 반복문( for문) 안에서 조건문(if문) 만들기
4. for 문 특수 키워드 반복문 탈출하기 (break, continue, pass)
5. 파이썬 반복문(while 문), for문과 비교하기, 무한 루프 탈출하기

파이썬 반복문(for문)

 

파이썬 반복문

반복문이란 

반복적인 작업을 수행하는 구문을 말한다.

* for문

* while 문

 

반복문은 언제 사용 할까?

  • 반복적으로 처리할 데이터는 자료구조(리스트,딕셔너리,튜플) 에 저장되어 있어야 반복문으로 사용 가능하다.
  • 횟수가 정해져 있을 때 사용한다. (예 : 10 번 반복)
  • 자료구조에 있는 데이터에 대해서 반복적으로 처리할 때 주로 사용한다.
  • 반복하고자 하는 문장을 들여쓰기 한 후 적어 준다.

 

반복적인 작업의 예시

_동일한 내용을 팀원 100명에게 이메일 보내기

_여러 통계 자료에 대한 계산 작업

등.

 

파이썬 for문

"포 아이 인 리스트"

for i in 리스트:    #리스트 안에 있는 값 i(변수)에 대해서
	반복 수행문장1
    반복 수행문장2
    ...

 

 

for문을 이용한 데이터 출력

리스트에 있는 값을 출력

 # 반복문 사용하지 않았을 경우

과일 = ["바나나","딸기","키위","수박"]  

print(과일[0])
print(과일[1])
print(과일[2])
print(과일[3])

 

🔽 🔽 🔽

 # for문 사용

과일 = ["바나나","딸기","키위","수박"]  

for i in 과일:
    print(i)

 

 

=> 바나나

=>  딸기

=>  키위

=>  수박

 

for문 인터프리터 자세히 알아보기

 # for문 사용

과일 = ["바나나","딸기","키위","수박"]  

for i in 과일:
    print(i)

i라는 변수는 리스트 앞에서 부터 순서대로 값을 바인딩 해온다.

i가 바인딩한 상태에서 들여쓰기 된 문장이 실행된다.

for문 인터프리터 자세히 알아보기

 

반응형

TIP. 1

for문은 뒤에서 부터 해석하면 쉽다!

 # for문 사용

과일 = ["바나나","딸기","키위","수박"]  

for i in 과일:
    print(i)

▶과일 안에 (in) i 에 대해서(for) 

        i를 print 하라.

 

TIP. 2

적당한 변수 이름 사용하기!

for i in 자료구조 구문에서는 i 는 자료구조 내의 값을 바인딩하는 하나의 변수이다.

그렇기 때문에 자료구조에 있는 값을 잘 표현할 수 있는 변수를 사용해 주면 좋다.

과일 = ["바나나","딸기","키위","수박"]  

for 먹고싶은과일 in 과일:    # i 대신 먹고싶은과일(변수)
    print(먹고싶은과일)
회사인원 = ["김홍길","홍길동","김철수","박연희"]  

for 정보팀 in 회사인원:        # i 대신 회사인원(변수)
    print(정보팀)

 


[파이썬 기초] for문을 딕셔너리와 튜플 활용하기

파이썬 for문과 딕셔너리

딕셔너리는 key, value 쌍으로 구성된다.

 

참고하면 좋은 글.

[파이썬 기초] 자료구조 : 튜플과 딕셔너리 그리고 이차원데이터 /딕셔너리 중첩

 

[파이썬 기초] 자료구조 : 튜플과 딕셔너리 그리고 이차원데이터 /딕셔너리 중첩

▼ 이전 [파이썬 기초] 상식▼ 더보기 [파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙 [파이썬 기초] 이것부터 알고가자, 데이

10dot0.tistory.com

그중 for문은 key(키)값을 바인딩 한다.

Q.

과일가격 = {
    "바나나" : 3000,
    "딸기" : 8000,
    "키위" : 10000,
    "수박" : 15000
}

for i in 과일가격:
    print(i)

 

A.

더보기

바나나

딸기

키위

수박

 

딕셔너리 key로 value 인덱싱하기

#기존 딕셔너리 value값 뽑아내기
과일가격 = {
    "바나나" : 3000,
    "딸기" : 8000,
    "키위" : 10000,
    "수박" : 15000
}

print(과일가격["바나나"])
#for문 사용
과일가격 = {
    "바나나" : 3000,
    "딸기" : 8000,
    "키위" : 10000,
    "수박" : 15000
}

for i in 과일가격:
    print(i, 과일가격[i])

 

 

items() 메서드를 사용하기

items() 메서드는 (key, value) 튜플을 리턴한다.

두 개의 변수로 key, value를 각각 바인딩 한다. (=> 튜플 언패킹)

#items메서드 사용하기

과일가격 = {
    "바나나" : 3000,
    "딸기" : 8000,
    "키위" : 10000,
    "수박" : 15000
}

for k,v in 과일가격.items():     # k = key, v = value
    print(k,v)
과일가격.items()    # 리스트

 

for문을 사용해서 어떤 정수를 범위로 표현하기

Q.  0 ~ 9까지 출력하기

 

A.

더보기
for i in[0,1,2,3,4,5,6,7,8,9]
    print(i)

 

for i in range(10):
    print(i)

 

range(start, end, step)

• start: 시작 값

• end: 끝 값 (포함되지 않음)

• step: 증가 값

 

Q. 0 ~ 4 까지의 숫자 리스트를 생성

 

A.

더보기
for i in range(0,5):
    print(i)

 

Q. range(0, 10, 2)

 

A.

더보기
[0, 2, 4, 6, 8]

시작값 0
끝 값 10 (포함x)
증가 값 2

0부터 10미만까지 2씩증가하는 값, 

 

!주의!

range -> list  (X)

단순히 값을 확인 하고 싶을 때 range를 list화 할경우 메모리를 많이 잡아먹게 되니 비추.

 

enumerate()

튜플을만들어준다.

과일 = ["바나나","딸기","키위","수박"]

for i in range(4):
    print(i,과일[i])
과일 = ["바나나","딸기","키위","수박"]

for i v in enumerate(과일):
    print(i,v)

 

0 바나나

1 딸기

2 키위

3 수박


[파이썬 기초] 반복문( for문) 안에서 조건문(if문) 만들기

반복문 안에서 조건문

반복문 안에서 조건문을 사용할 수 있다.

 

Q1. 과일 이름 분류기를 만들어보자

리스트 안에 있는 과일이름을 원하는 글자 수에 맞춰 출력해보자.

조건. 반복문 내에서 조건문을 사용한다.

출력. 3글자 이상의 과일이름만 출력하기.

 

A1.

1단계 : for 문을 사용해서 과일 이름을 출력해보자.

과일목록 = ["바나나", "딸기", "사과", "수박", "오렌지"]

for 과일 in 과일목록:
    print(과일)

 

2단계 : for 문 안에서 조건(if)를 넣어보자.

과일목록 = ["바나나", "딸기", "사과", "수박", "오렌지"]

for 과일 in 과일목록:
    if len(과일) >=3:
        print(과일)

 

3단계 : append를 활용해 새로운 리스트 안에 넣어보자.

과일목록 = ["바나나", "딸기", "사과", "수박", "오렌지"]

3글자이상과일 = [ ]

for 과일 in 과일목록:
    if len(과일) >=3:
        3글자이상과일.append(과일)
        
print(3글자이상과일)

 

 

# len() 문자의 길이 확인하는 함수

참고하면 좋은 글.

[파이썬 기초] 파이썬 리스트에 대한 기초 공부

 

[파이썬 기초] 파이썬 리스트에 대한 기초 공부

▼ 이전 [파이썬 기초] 상식▼ 더보기 [파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙 [파이썬 기초] 이것부터 알고가자, 데이

10dot0.tistory.com

 

# 비교연산자 활용

참고하면 좋은 글.

[파이썬 기초] 파이썬 Boolean 타입 / 조건문, 논리 연산자

 

[파이썬 기초] 파이썬 Boolean 타입 / 조건문, 논리 연산자

▼ 이전 [파이썬 기초] 상식▼ 더보기 [파이썬 기초] 이것부터 알고가자, 데이터 타입과 타입의 변환 / 화면 출력 함수 print/ 변수(Variable)와 변수 이름 규칙 [파이썬 기초] 이것부터 알고가자, 데이

10dot0.tistory.com

 

Q2. 가격이 10,000원 미만인 과일출력하기

 

A2.

1단계 : 데이터를 표현하기

  • 과일이름과 해당 가격에 대한 값 ➡ 튜플에 저장
  • 여러 과일에 대한 정보 ➡ 리스트에 각 튜플을 저장
과일목록 = [("바나나", 3800),
    ("딸기",8500),
    ("사과",15000),
    ("수박",11000),
    ("오렌지",5000)
]

 

2단계 : 리스트 인덱싱 자료 구조 확인하기

 

리스트의 0번은 바나나 정보를 담고 있는 튜플

  • 튜플의 0번은 과일이름
  • 튜플의 1번은 과일 가격
과일목록 = [("바나나", 3800),
    ("딸기",8500),
    ("사과",15000),
    ("수박",11000),
    ("오렌지",5000)
]

print(과일목록[0])    # 바나나정보가 담기니 리스트 출력

print(과일목록[0][0])    #튜플 바나나의 이름 출력
print(과일목록[0][1])    #튜플 바나나의 가격 출력

 

3단계 : for 문 안에서 조건(if)를 넣어보자.

과일목록 = [("바나나", 3800),
    ("딸기",8500),
    ("사과",15000),
    ("수박",11000),
    ("오렌지",5000)
]

for i in 과일목록:    # i는 튜플을 바인딩
    if i[1] < 10000:    # 튜플의 1번 인덱싱 (과일가격)
        name = i[0]    #튜플의 0번 인덱싱 (과일이름)
        print(name)

 

4단계 : 조건에 만족하는 결과값을 새로운 리스트로 만들자.

과일목록 = [("바나나", 3800),
    ("딸기",8500),
    ("사과",15000),
    ("수박",11000),
    ("오렌지",5000)
]

result = [ ]    # 반복문 바깥쪽에 데이터를 저장할 리스트 생성

for i in 과일목록:    # i는 튜플을 바인딩
    if i[1] < 10000:    # 튜플의 1번 인덱싱 (과일가격)
        name = i[0]    #튜플의 0번 인덱싱 (과일이름)
        result.append(i[0])   #append 활용해서 조건문을 만족하면 해당 리스트에 등록)
 
print(result)

 


[파이썬 기초] for 문 특수 키워드 반복문 탈출하기 (break, continue, pass)

반복문 탈출하기

 

break

특정조건을 만족할 때 반복문을 탈출하기

가장 가까운 반복문을 탈출합니다.

for i in range(10):
    if i >= 5:
        break
    print(i)

print("반복문 끝")

 

continue

반복문 특정 조건만 건너 뛰기

반복문에서 continue 키워드를 만나면 들여쓰기 된 코드는 수행하지 않고 다음 반복으로 이동합니다.

for i in range(10):
    if i % 2 == 0:    # 짝수 구하는 식
        continue
    print(i)

 

반복문의 처음으로 돌아가 이어서 실행합니다.

continue 아래 코드는 실행되지 않습니다

예 ) 홀수만 출력하기 => 현재 숫자가 짝수이면 다음 반복으로 이동하기

 

 

pass

구문적으로는 문(statement)가 존재해야 하나 딱히 처리 할 일이 없을 때 사용합니다.

문법 에러를 회피하기 위해 사용합니다.

for i in range(10):
    pass

잠시 생각좀 할때 쓰이는 pass!

 


[파이썬 기초] 반복문(while 문), 무한 루프 탈출하기.

파이썬 while문

조건이 참인 동안에 while에 들여쓰기 된 문장이 수행된다.

while 조건문:
    수행할 문장 1
    수행할 문장 2
    수행할 문장 3
    ...

 

for문과 whil문 비교

for문 while문
반복 횟수가 상대적으로 적을 때 사용
파이썬 자료구조(리스트, 딕셔너리 등)와 주로 사용된다.
반복 횟수가 상대적으로 많을 때 사

무한 루프를 만든다.

 

while문과 무한루프 (모듈)

time.sleep (숫자)

인터프리터가 (숫자) 초 대기한다.

# import time

print("HELLO WORLD")
time.sleep(5)
print("GOOD BYE")

 

while 문 사용

# import time

while True:
    print("HELLO WORLD")
    time.sleep(5)

while 문을 사용할경우 계속해서 "HELLO WORLD"를 5초 후 프린트하게된다.

이렇게 반복되는 경우를 무한 루프라고 한다.

무한루프를 탈출하기 위해서는 Ctrl + C를 누르면 해결된다.

반응형