Python - 랜덤 float 생성 방법

파이썬에서 무작위로 float(부동소수점)을 생성하는 방법을 소개합니다.

1. random.uniform()을 이용한 방법

uniform(a, b)는 a에서 b 사이(a <= n <= b)의 랜덤 float을 생성하여 리턴합니다.

import random

# 0 <= n <= 1
n = random.uniform(0, 1)
print(n)
print(type(n))

# 0 <= n <= 10
n = random.uniform(0, 10)
print(n)

# 10 <= n <= 100
n = random.uniform(10, 100)
print(n)

Output:

0.9495747790881722
<class 'float'>
8.526159108841176
40.81030368727161

2. random.random()을 이용한 방법

random()0 <= n < 1 범위의 랜덤 float을 리턴합니다.

0 ~ 10 또는 0 ~ 100 사이의 float이 필요하면 10 또는 100을 곱하면 됩니다.

import random

# 0 <= n < 1
n = random.random()
print(n)
print(type(n))

# 0 <= n < 10
n = random.random() * 10
print(n)

# 0 <= n < 100
n = random.random() * 100
print(n)

Output:

0.10174036742238823
<class 'float'>
5.4563991430063155
93.99795413432041

3. random.randrange()를 이용한 방법

randrange(n)0 <= num < n 범위의 점수를 리턴합니다.

최대 정수 범위로 다시 나누면, 0~1사이의 랜덤 float이 생성됩니다. 나눈 정수에 따라서 소수점 자리수가 달라집니다.

import random

n = random.randrange(1000)
print(n)

max = 1000
n = random.randrange(max) / max
print(n)

max = 10000
n = random.randrange(max) / max
print(n)

max = 100000
n = random.randrange(max) / max
print(n)

Output:

427
0.507
0.9084
0.84002

4. float 리스트 중에 무작위 선택

random.sample(list, n)은 list 중에 n개를 선택하여 리스트로 리턴합니다.

import random

my_list = [1.12, 0.22, 3.34, 5.55, 2.11]

result = random.sample(my_list,  1)
print(result)

result = random.sample(my_list,  3)
print(result)

Output:

[5.55]
[5.55, 3.34, 0.22]

5. float 리스트의 순서를 무작위로 변경

shuffle(list)은 리스트의 순서를 변경합니다.

아래와 같이 float 리스트의 순서를 무작위로 변경하여 사용할 수 있습니다.

import random

my_list = [1.12, 0.22, 3.34, 5.55, 2.11]

random.shuffle(my_list)
print(my_list)

random.shuffle(my_list)
print(my_list)

Output:

[3.34, 2.11, 5.55, 1.12, 0.22]
[0.22, 3.34, 2.11, 1.12, 5.55]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha