반복문
while, for, break, continue, range(), enumerate(), zip()
특정 코드를 반복적으로 실행함으로서 코드 유지보수를 향상시킨다.
- while 반복문
무한루프에 빠지지 않도록 주의해야 한다.
무한루프에 빠지면 런타임에서 실행중단을 누른다.
while 반복문을 사용하여 'python'을 세번 출력해 보자!
count = 3
while count > 0
print('python')
count -= 1
단순히 print()함수를 반복해 코드를 작성하면...
'python'이라는 문자열이 바뀌었을 때 하나하나 다시 작성해야한다.
하지만 위의 코드에서는 한 번만 바꾸면 된다! -> 유지보수가 쉽다!
- for 반복문
for 반복문을 사용해서 python을 세번 출력해 보자!
for _ in [0, 1, 2]:
print('python')
리스트에서 리스트의 원소를 하나하나 꺼내 리스트의 개수 만큼 반복한다.
반복되는 변수 값이 필요 없을 때는 주로 '_' 를사용한다(코드 실수 방지)
- range()
리스트를 만들어주는 함수
range(end), range(start, end), range(start, end, stride)의 형식으로 사용하며 마스킹문법과 유사
2023.01.02 - [멋쟁이사자처럼 AI스쿨] - 데이터 타입(파이썬 강의 Day1)
데이터 타입(파이썬 강의 Day1)
파이썬은 컴퓨터의 CPU, RAM, SSD(HDD)를 사용하는 방법이다... 그러므로 우리는 파이썬의 문법을 학습해야한다! 데이터타입 데이터타입은 RAM을 효율적으로 사용하는 문법이다. - 기본 데이터타입 - i
helpming.tistory.com
마스킹 문법은 위의 글을 참고하세요!
for 반복문을 사용하여 'jupyter'을 세 번 반복해 보는 코드
for _ in range(3):
print('jupyter')
![](https://blog.kakaocdn.net/dn/biu0oO/btrVexiGgqj/F1CU909oZN60lkeq4i8pY1/img.png)
결과가 잘 출력된다.
- break, continue
break : 반복되는 코드를 중단
continue : 아래에 있는 코드를 실행하지 않고 반복구문의 코드로 올라가서 코드를 실행
break와 continue는 while문에서도 그대로 동작
0~10까지의 숫자 중 5보다 작은 짝수만 출력하는 코드를 작성해보자!
for data in range(10):
if data % 2: # 홀수 일때 True
continue
if data >= 5:
break
print(data)
홀수 일때는 데이터가 출력되지 않고 반복문으로 다시 돌아가고...
데이터가 5가 되면 코드를 중단시키기 때문에...
이렇게 출력된다.
- 랜덤한 숫자 맞추기 게임
# 1. 0 ~ 9의 랜덤한 숫자 생성
import random
random_number = random.randint(0, 9)
# 2. 숫자를 입력한 횟수를 카운팅하는 변수 선언
count = 0
# 3. 아래의 내용 반복
while True:
# 3-1. 숫자를 입력 받음
input_number = int(input('숫자를 입력하세요(0~9) : '))
# 3-2. 카운팅 +1 추가
count += 1
# 3-3. 랜덤한 숫자와 입력받은 숫자가 같은지 확인
if input_number == random_number:
# 3-4. 같으면 카운팅 횟수 출력 > 게임 종료
print(f'count : {count}')
break
# 3-5. 다르면 up, down 출력하기 > 게임 계속
elif input_number >= random_number:
print('down')
else:
print('up')
print('게임 종료')
코드를 이렇게 작성해 준다!
실행해 보면
4번만에 맞췄다...
- enumerate()
반복문에서 리스트 데이터에 인덱스 숫자를 출력할 때 사용
users = ['홍길동(32)', '김파이썬(27)', '정노트북(43)']
idx = 0
for user in users:
print(idx, user)
idx += 1
enumerate를 사용하지 않고 이렇게 코드를 작성할 수도 있지만...
users = ['홍길동(32)', '김파이썬(27)', '정노트북(43)']
for idx, user in enumerate(users):
print(idx, user)
enumerate를 사용하면 좀 더 간단하게 인덱스를 표시할 수 있다.
두 코드 모두 같은 결과를 출력한다.
또한 enumerate는 데이터가 튜플 형식으로 나오기 때문에 for과 in사이에 두 개의 변수를 넣을 수 있다.
- zip()
같은 인덱스의 데이터끼리 튜플로 묶어서 리스트로 출력
데이터의 개수가 다르면 작은 인덱스 기준으로 묶인다.
players = ['손흥민', '메시', '호날두']
goals = [30, 20, 10]
games = [50, 30, 40, 20]
print(list(zip(players, goals, games)))
for data in zip(players, goals, games):
print(data)
인덱스가 다른 경우 작은 인덱스로 묶이는 것과...
리스트 형식으로 반환되는 것을 알 수 있다!
이번 시간에는 반복문에 대해서 알아봤습니다.
제가 즐겨 듣는 노래가 생각납니다...
(21) 줍에이 (Joob A) - 반복 (repeat) [Official Audio] - YouTube
줍에이의 반복을 들으면서... ㅂㅇ루...
'멋쟁이사자처럼 AI스쿨' 카테고리의 다른 글
함수1(파이썬 강의 Day3) (0) | 2023.01.04 |
---|---|
조건부 확률을 통한 데이터분석(파이썬 강의 Day2) (0) | 2023.01.03 |
조건문(파이썬 강의 Day2) (0) | 2023.01.03 |
연산자(파이썬 강의 Day2) (0) | 2023.01.03 |
문자열 데이터 표현과, 변수를 문자열에 삽입하는 방법(파이썬 강의 Day1) (2) | 2023.01.02 |
댓글