본문으로 건너뛰기

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]