random 모듈과 반복문
random 모듈
지정한 영역 내의 임의의 수를 반환하기 위한 함수
경고
import random
- 모듈을 사용하기 위해 import 해야 함
-
데이터셋 a 중 임의의 수 반환하기
-
리스트 형태의 데이터셋 정의하고 사용하기
-
예제 코드
import random
a = [ 1, 2, 3, 4, 5 ] # 데이터셋 a
random.choice(a) -
함수
메서드 | 실행 |
---|---|
random.randint(a,b) | >= a, <= b 의 정수 1개 |
random.random() | >= 0, < 1 의 실수(float) 1개 |
random.uniform(a,b) | >=a, < b 의 임의의 실수 1개 |
random.sample(범위,출력개수) | 범위 안의 출력 개수만큼 정수로 출력 |
random.randrange(a,b) | > = a, < = b-1 또는 < b 의 정수 1개 |
random.shuffle(a) | 리스트 a의 순서를 뒤죽박죽 섞어 놓음 |
random.choice(a) | 리스트 a중 임의의 데이터를 뽑아줌 |
random.randint(a,b)
a이상 b이하 (
>=a, <=b)
) 의 임의의 정수 1개 반환
-
사용법
val = random.randint(1, 10) # 1 ~ 10 사이의 임의의 정수 반환
# val >= 1 ~ val <= 10 -
error case
에러 코드 설명 예시 random.randint(a,b)
a>b인 경우 random.randint(3, 4)
random.randint(a,b)
a와 b가 실수인 경우 random.randint(3.0, 5.0)
random.randint(a)
인수 부족 random.randint(1)
random.randint(a,b,c)
인수 과다 random.randint(1, 2, 3)
random.random()
0 ~ 1 사이 (
>=0, <1)
) 의 실수(float) 1개 반환
-
사용법
val = random.random() # 0 ~ 1 사의의 실수(float) 반환
# val >= 0 ~ val < 1
random.uniform(a, b)
a이상 b미만 (
>=a, <b)
) 의 임의의 실수(float) 1개 반환
-
사용법
val = random.uniform(1, 10) # 1 ~ 9 사의의 실수(float) 반환
# val >= 1 ~ val < 10
random.sample(범위, 출력개수)
- 범위 :
range(n)
: 0~n-1 까지의 범위- 출력개수 : 정수로 나타냄
- 출력 형태 : 정수들의 리스트
import random
a = 10
c = random.sample(range(a), 3)
print(c)
실행 결과
0, 3, 7
기타 함수
메서드 | 실행 |
---|---|
random.randrange(a,b) | > = a, < = b-1 또는 < b 의 정수 1개 |
random.shuffle(a) | 리스트 a의 순서를 뒤죽박죽 섞어 놓음 |
random.choice(a) | 리스트 a중 임의의 데이터를 뽑아줌 |
실습
import random
a = [1, 2, 3, 4, 5]
n1 = int(input('n1: '))
n2 = int(input('n2: '))
print(random.randrange(n1, n2))
random.shuffle(a);
print(a);
print(random.choice(a))
실행 결과
1
5
3
[3, 1, 5, 2, 4]
4
반복문
조건이 만족할 경우 블록 소스코드를 반복하여 수행하는 문법
팁
조건문과 마찬가지로 들여쓰기(indentation)가 중요
while 문
i = 1 # 초기값
while i <= 10: # 조건문
print(i, end=" ") # 실행문장
i += 1 # 증감치 설정 (위치 변경 가능)
# 1 2 3 4 5 6 7 8 9
for 문
# 예제 1
for i in range(1, 10):
print(i, end=" ")
# 1 2 3 4 5 6 7 8 9
# 예제 2
for i in range(1, 15, 2):
print(i, end=" ")
# 1 3 5 7 9 11 13
실습
현재 숫자 출력
num=1
while num <= 10:
print("the num is " + str(num))
num += 1
실행 결과
the num is 1
the num is 2
the num is 3
the num is 4
the num is 5
the num is 6
the num is 7
the num is 8
the num is 9
the num is 10
구구단
x = int(input("단을 입력해보아요."))
# while 문
i = 1
while i <= 9:
print(x, " * ", i, "=", i*x)
i += 1
x = int(input("단을 입력해보아요."))
# for 문
for i in range(1, 10):
print(x, " * ", i, "=", i*x)
실행 결과
# while 문
단을 입력해보아요.3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
---
# for 문
단을 입력해보아요.4
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
결과는 같다
import random
n = int(input("몇개 필요해?"))
val=random.sample(range(1,101),n)
print(val)
실행 결과
몇개 필요해?10
[66, 80, 60, 46, 35, 68, 54, 91, 14, 98]