반응형


이번 포스팅은 Python3 에서 랜덤값을 얻는 방법에 대해 간단히 정리해 봤습니다. 더 자세한 내용은 직접 파이썬 도큐먼트를 참고 하세요. ^^;


Python3 에서 랜덤 클래스를 사용하기 위하여....

import random 을 처음에 적어줍니다. 그리고 랜덤클래스는 인스턴스를 생성하지 않고 사용합니다.




1. random.seed([seed])

컴퓨터에서 만드는 랜덤값은 모두 계산에 의해 나오는 유사랜덤값입니다. 그러한 랜덤값을 좀더 랜덤하게 만들기 위해서 seed 값을 임의로 넣어줍니다. 만일 생략하거나 None 값인 경우 seed 값으로 현재 시간을 사용합니다.


2. random.random() 

0.0 <= x < 1.0 사이의 값을 출력합니다.


3. random.uniform(a.2, b.5)

a.2 <= x < b.5  사이의 값을 출력합니다.


4. random.randrange(b)

0 <= x < b 사이의 정수값을 출력합니다.


4. random.randrange(a,b)

a <= x < b  사이의 정수값을 출력합니다.


5. random.randint(a,b)

a <= x <= b  사이의 정수값을 출력합니다. 



위는 간단한 사용예 입니다. 뭐....별거 없습니다.


이상은 일반적인 랜덤값을 얻는 함수들이고요.....




파이썬에는 조금 재미있는 함수들이 있더군요.


6. random.choice(x)

x 에 list 변수등을 넣으면 리스트중에 하나의 값을 임의로 리턴해 줍니다.


7. random.shuffle(x)

x 에 list 변수등을 넣으면 내부 값들을 알아서 섞어 줍니다. 


8. random.sample(x,n)

x list 등에서 랜덤하게 n 개의 값을 리턴합니다.



위는 간단한 사용예 입니다. 나름 재미있게 사용할 수 있을것 같네요. 

반응형



아주 간단히 정리해 보았습니다. 더 상세한 내용은 python3 document 를 참고하세요. ^^;



일단...파이썬3에서는 파이썬2 버전과 달리 print 문에 반드시 괄호를 써야 한다는 점이 다릅니다.

print 를 사용하는 방법은 크게 2가지로 나뉩니다.

1. 기존 C 언어등에서 사용하는 방법

간단히 예제만 적어보겠습니다.


>>>print("a:%d b:%d" % (10,20))

a:10 b:20


C 언어에서 처럼 형식을 지정해서 출력하는 방법(%5d 같은....)도 가능합니다.


2. 파이썬3의 format 을 이용하는 방법


>>>"a:{0} b:{1}".format(10,20)

'a:10 b:20'


>>>"a:{1} b:{0}".format(10,20)

'a:20 b:10'

>>>"a:{} b:{}".format(10,20)

'a:10 b:20'


프린트 될 형식을 지정해 주는것도 가능합니다.


>>>"a:{0:4.2f}".format(343.2234)

'a:343.22'


형식을 지정하는 방법은 C 언어등에서 사용하는 방법과 비슷합니다.


3. 그외 참고할만한것들


>>> a="hello"
>>> a.center(20,"-")
'-------hello--------'
>>> a.ljust(20,"-")
'hello---------------'
>>> a.rjust(20,"-")
'---------------hello'


위의 예를 보면 어떻게 사용하는건지 알 수 있겠죠? ^^;


다음은 zfill()


>>> a=1234
>>> a.zfill(12)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'zfill'
>>> str(a).zfill(12)
'000000001234'


숫자앞에 자리수에 맞추어서 '0' 을 넣어주는 함수인데 당연하지만 rjust 를 이용해도 똑같이 할 수 있습니다. 위의 예를 보면 알겠지만 zfill 함수는 string 쪽 함수입니다.(생각해 보면 당연합니다만....) 따라서 변수가 int 형이면 str 형으로 변환해서 사용해야 합니다.


다음 라인으로 넘어가지 않고 그 라인에 계속 출력하고 싶을때


print(a , end = " ")

print(b)


a가 출력된 이후 빈칸 이후에 b 가 줄바꿈 없이 출력 됩니다.



각 값들 간에 특별한 구분자를 넣고 싶을때.


>>> print(1,2,3,4,5)
1 2 3 4 5


>>> print(1,2,3,4,5,sep="---")
1---2---3---4---5




이 글을 쓴 이후에 추가된 문법입니다. 추가해 놓습니다.



예전에 테스트 해 봤을때는 우분투의 파이썬이 좀 낮은 버전이라 안되던데, 오늘 생각나서 테스트 해 보니 잘 되는군요.

그냥 간단히 스크린샷으로 설명은 대신 합니다.


+ Recent posts