ursobad
ursobad
ursobad
전체 방문자
오늘
어제
  • 분류 전체보기 (116)
    • Emotion (35)
      • 파이썬 (10)
      • 문제 (10)
      • 인공지능 기초 (15)
    • Best of the Best (3)
    • Hacking (58)
      • HackCTF (12)
      • DreamHACK (7)
      • Webhacking.kr (19)
      • Root Me (6)
      • HTB (5)
      • 기타 (7)
      • 리버싱 소수전공 (2)
    • 기능반 (16)
      • 2과제 (14)
      • 3과제 (2)
    • 기록 (3)
    • 짧은 글들 (0)
    • 기타 (1)
    • Zombie (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 함수
  • BoB 자소서
  • Bob
  • 123
  • 머신러닝
  • BoB 11기
  • BoB 자기소개
  • BoB 필기
  • BoB 면접
  • BoB 자기소개서
  • 앙상블
  • BoB 질문
  • Python
  • 구독자 전용 다시보기
  • KNN
  • 백준
  • 파이썬
  • OpenCV
  • 얼굴검출
  • 의사결정트리

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ursobad

ursobad

Emotion/파이썬

파이썬 반복문

2020. 7. 7. 17:39

for문

range 사용

for 변수 in range(횟수): 
	반복할 코드


예를 들어서

for i in range(100): 
	print("hello")

를 실행시키면 hello가 100번 출력된다.

range(시작, 끝, 증가폭)를 이용해서 for문을 만들수도 있다.

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

이 코드를 실행하면 2부터 9까지 2를 증가하면서 반복되기때문에

hello 2
hello 4 
hello 6 
hello 8

이렇게 출력된다.

reversed를 이용해 순서 뒤집기

range앞에 reversed를 붙이면 숫자의 순서를 반대로 뒤집을 수 있다.

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

이 코드는 실행시키면 0부터 9까지 숫자가 차례대로 출력된다

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

앞에 reversed를 붙인 이 코드를 실행시키면 9부터 0까지의 숫자가 출력된다.

입력한 숫자만큼 반복하기

input함수로 숫자를 받아준 뒤에 range의 괄호 안에 지정한 변수를 넣으면 된다

a=int(input()) 
for i in range(a): 
	print(i)

이 소스를 실행시키면 0부터 8까지 9번 반복하여 출력된다 (range는 0부터 횟수 - 1까지 반복된다)

시퀀스 객체로 반복하기

리스트나 튜플같은 시퀀스 객체를 for문 안에 넣을수 있다.

a=[0,1,2,3,4,5] 
for i in a: 
	print(i)

이 코드를 실행하면 리스트 안에 있는 인덱스 0,1,2,3,4,5가 출력된다
reversed를 통해 값을 뒤집을수도 있다.

while문

c언어의 while문과 유사하다

초기값 
while 조건식: 
	반복할 코드 변화식

조건식이 거짓이 될때까지 반복한다.

예를 들어서

i=0 
while i<100:
	print(i)
    i+=1

이 코드는 i값이 100보다 커지면 while문을 빠져나온다. 그러므로 0부터 99까지 출력된다.
변화식을 통해서 초기값을 증가시킬수도 있고 감소시킬 수도 있다.

입력한 횟수대로 반복

input함수로 숫자를 입력받고 while문의 조건식에 넣어 주면 된다.

i=0 a=int(input()) 
while i<a: 
	print(i) 
	i+=1

이 코드는 0부터 입력값이 될때까지 반복된다. 하지만 입력값이 되는순간 거짓이 되기때문에 0부터 입력값-1까지 출력된다.

난수 사용하기

난수란?
특정 주기로 반복되지 않으면 규칙 없이 무작위로 나열되는 숫자

파이썬에서 난수를 사용하려면 random모듈을 사용해야 한다.

import random

->random 모듈 가져오기

import random print(random.random())

-> random함수를 호출

random.randint(a, b)

->이를 이용해서 a부터 b까지의 난수를 만들 수 있다.

>>> random.randint(1,6) 3 >>> random.randint(1,6) 5

1부터 6사이의 값에서 난수가 출력되는것을 볼 수 있다

import random 
i=0 
while i!=3: 
	i=random.randint(1,6) 
	print(i)

이 코드는 1부터 6까지 난수를 생성하는데 난수 3이 생기면 while문을 빠져나온다.
빠저나온 뒤에 i값을 출력하기 때문에 3이 출력된다.

시퀀스 객체에서 무작위로 선택하기

random.choice(시퀀스 객체)
>>> a=[1,2,3,4,5,6,7] 
>>> random.choice(a) 
1 
>>> random.choice(a) 
7 
>>> random.choice(a) 
3

a라는 리스트 안에 있는 값들이 랜덤하게 출력된다.

무한루프

while True: 
	코드 
    
while 1: 
	코드
    
while 'a': 
	코드

while문의 조건식에 True, 0이아닌 숫자, 내용이 있는 문자열을 넣으면 무한루프를 만들 수 있다.

#for문은 반복 횟수가 정해져 있을때 주로 사용한다.
#while문은 반복 횟수가 정해져 있지 않을때 주로 사용한다.

break, continue

break : for문과 while문에서 제어흐름을 벗어나기 위해서 사용한다. ->제어 흐름 중단
continue : 반복을 유지한 상태에서 코드의 실행만 건너뛴다. -> 제어 흐름 유지, 코드 실행만 건너뜀

while, for문에서 break로 반복문 끝내기

i=0 while 1: print(i) i+=1 if i==100: break

i가 100이면 break로 while문을 빠져나가기 때문에 0부터 99까지 출력된다.

for i in range(10000): print(i) if i==100: break 

for문은 while문과 달리 증감식이 처음에 실행되기때문에 0부터 100까지 출력되고 for문을 빠져나간다.

while, for문에서 continue로 코드 건너뛰기

i=0 while i<100: i+=1 if i%2==0: continue print(i)

if i%2==0일때 continue를 만나므로 print(i)가 실행되지 않는다.
1부터 99까지의 홀수를 출력한다.
for문도 비슷한 방식으로 작성할 수 있다.

for i in range(100): if i%2==0: continue print(i)

'Emotion > 파이썬' 카테고리의 다른 글

함수_2  (0) 2020.08.26
파이썬 함수_1  (0) 2020.07.08
파이썬_3  (0) 2020.07.01
파이썬_2  (0) 2020.06.29
파이썬_1  (0) 2020.06.27
    'Emotion/파이썬' 카테고리의 다른 글
    • 함수_2
    • 파이썬 함수_1
    • 파이썬_3
    • 파이썬_2
    ursobad
    ursobad

    티스토리툴바