들어가며...
오늘은 Python에서 랜덤한 값을 추출하고 싶을 때 사용하는 Random 함수에 대해 간단하게 정리해 보려고 합니다.
목차
random
파이썬에서는 random 함수를 지원하며 랜덤한 값을 뽑거나, 랜덤한 리스트, 랜덤한 문자를 뽑을 때 사용이 가능합니다.
from random import random
print(f'랜덤한 값 출력 : {random()}')
먼저 random 함수를 사용하기 위해선 random 함수를 import 하여야 사용할 수 있습니다.
위 코드를 입력한 뒤 실행하게 되면, 아래와 같은 결과를 얻을 수 있습니다. random()의 경우 0.0 ~ 1.0 까지의 소숫점을 랜덤하게 생성할수 있습니다.
from random import random
print(f'랜덤한 값 출력 : {random() * 10}')
위의 코드의 경우, 0.0 ~ 1.0의 값에서 10을 곱한 값을 출력하니 0.0 ~ 10.0의 범위에서 랜덤한 숫자가 생성되게 됩니다.
또한, int() 함수와 함께 사용하는 경우엔 소수를 정수로 변환하여 출력할 수 있습니다.
from random import random
print(f'1 ~ 10 랜덤한 정수 값 출력 : {int(random() * 10)}')
randint
하지만 똑똑한 파이썬에서는 랜덤한 정수를 뽑는 다른 random 함수가 존재합니다.
from random import randint
print(f'1 ~ 100 까지의 랜덤한 정수 생성 : {randint(1, 100)}')
randint 함수이며, 위 예시와 같이 특정 범위 안에 숫자 중 랜덤하게 뽑아낼 수 있습니다.
위에 10을 곱하거나, int 함수로 정수로 만드는 것도 가능하지만, randint 함수를 사용하면 정수의 범위에서 값을 뽑아낼 수 있으므로, 동일한 결과를 얻을 수 있습니다.
randrange
다른 함수로는 randrange 함수가 존재하지만, randint와 동일한 것처럼 보여질 수 있습니다.
from random import randrange
print(randrange(5, 10))
randint 함수와 동일하게 첫번째 숫자 부터 두번째 수 숫자까지의 범위 중 랜덤한 숫자를 뽑아낼 수 있습니다. 하지만, randrange 함수는 추가로 3번째 숫자도 입력이 가능합니다.
from random import randrange
print(randrange(3, 10, 3))
어떤 결과가 나오게 될까요?
여러번 실행하여 봤지만, 3의 배수만 출력되는 것을 확인할 수 있습니다. 즉, 3 ~ 10 범위안에 3을 증가한 값, 3의 배수 중 랜덤한 값을 뽑아내게 됩니다.
random 함수 응용
random 함수는 숫자만 뽑아내는 것이 아닌, int() 함수를 사용하여 정수형으로 변환한 것처럼 chr() 함수를 사용하여 랜덤한 문자를 뽑아내는 것도 가능합니다. 또한, 나중에 배우게 될 List 안에서 랜덤으로 뽑아내는 것도 가능합니다.
from random import randint
print(f'랜덤한 대문자 알파벳 출력 : {chr(randint(65, 90))}')
print(f'랜덤한 소문자 알파벳 출력 : {chr(randint(97, 122))}')
나중에 작성하게 될거 같지만, 컴퓨터는 ASCII 코드라는 것을 사용하여 문자열을 표현합니다. 그 ASCII 코드 중 65~90이 알파벳 대문자를 의미하고 97~122가 알파벳 소문자를 의미합니다. 그것을 응용하여 범위 안에 랜덤한 정수를 뽑아내고 해당 정수에 매칭되는 ASCII 코드로 변환하여 영문자로 변환이 가능한 것입니다.
오늘의 글은 여기서 마무리 하도록 하겠습니다.
'파이썬(Python) > 파이썬 기초' 카테고리의 다른 글
[파이썬] 파이썬 소수점 변환하는 5가지 방법 (0) | 2024.02.08 |
---|---|
[ 파이썬 기초] #0x09 Python if 조건문 (0) | 2023.12.25 |
[ 파이썬 기초] #0x07 Python 사용자 입력과 다양한 출력 (0) | 2022.11.20 |
[ 파이썬 기초] #0x06 Python 변수 다중 할당과 자료형 (0) | 2022.11.11 |
[ 파이썬 기초] #0x05 Python 상수와 변수 (0) | 2022.11.10 |