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 |