반응형
안녕하세요 독학코딩입니다. 오늘은 파이썬에서 랜덤 하게 숫자, 글자를 생성하는 방법에 대해서 배워보겠습니다. 방법만 알고 있다면 아주 쉽고, 비밀번호 혹은 인증번호 등을 생성하는데 많이 사용되니 잘 알아두시면 좋습니다.
제목에도 쓰여있지만 가장 먼저 random
패키지를 import
해야 합니다. 하지만 기존의 방식과는 조금 다른게 해야 합니다.
from random import *
이렇게 import
할 것입니다. 물론 import random
이렇게만 하셔도 됩니다. 다만 그런 경우 random.random()
이런 식으로 random
패키지를 사용해야 되기 때문에 불필요한 반복을 줄이기 위해 위와 같이 import
합니다.
from 패키지 import 함수
보통은 위와 같은 import
방식은 어떤 패키지에서 특정 함수만 import
를 하고 싶을 때 이렇게 합니다. 함수 부분에 *
을 작성하면 모든 함수를 import
하는 것입니다. 굳이 *
를 쓰는 건 위에서 설명했듯이 불필요한 반복을 줄이기 위해서입니다.
Python 랜덤 숫자 생성
- 0.0 ~ 1.0 미만의 랜덤 수 생성
print(random())
- 숫자 x.0 미만까지 랜덤 수
print(random()*x)
- 숫자 x 미만까지 랜덤 수
print(int(random()*x))
- 숫자 x 이하까지 랜덤 수
print(int(random()*x)+1)
- x ~ y 미만의 랜덤 수
print(randrange(x, y))
- x ~ y 이하의 랜덤 수
print(randint(x, y))
Python 랜덤 문자 생성
랜덤 문자를 생성하기 위해서는 import string
를 해야 합니다. 아래의 모든 예제는 10 부분을 수정하면 원하는 n자리의 랜덤 문자를 생성할 수 있습니다.
- 10자 랜덤 소문자 생성
letters = string.ascii_lowercase
print(''.join(choice(letters) for i in range(10)))
- 10자 랜덤 대문자 생성
letters = string.ascii_uppercase
print(''.join(choice(letters) for i in range(10)))
- 10자 랜덤 대, 소문자 생성
letters = string.ascii_letters
print(''.join(choice(letters) for i in range(10)))
- 10자 랜덤 숫자 생성
랜덤 숫자를 만드는데 굳이 이렇게 해야 되나 싶지만, 이 방법은 n자리의 숫자를 만들 때 유용한 방식입니다.
letters = string.digits
print(''.join(choice(letters) for i in range(10)))
- 10자 랜덤 특수문자 생성
letters = string.punctuation
print(''.join(choice(letters) for i in range(10)))
반응형
'Python > Python 패키지' 카테고리의 다른 글
Python time, 파이썬 시간 다루기 (0) | 2022.03.19 |
---|---|
Python 파이썬 엑셀 다루기, pandas 패키지 (0) | 2022.01.04 |
Python 파이썬 Math 올림, 내림, 반올림 (0) | 2021.12.10 |
Python 파이썬 datetime 기초 (0) | 2021.12.06 |
Python 파이썬 pandas 기초 (0) | 2021.12.03 |
댓글