보통 사용하는 random 함수는 완전한 랜덤 함수가 아닌 공식에 의해서 만들어지는 유사 랜덤값 입니다. 따라서 seed 가 동일하면 난수의 값도 동일하게 출력 됩니다. 오늘 kotlin 에 대해서 보다 보니 secure random 이라는게 있더군요. os 의 내부 값을 이용해서 랜덤 값을 얻기 때문에 더욱 완전한 랜덤값을 얻게 됩니다. 그래서 파이썬에도 방법이 있지 않을까 검색해 보니 바로 있더군요.(이걸 왜 못봤지...?? ㅜ.ㅜ) 그래서 아주 간단히 테스트 해 봤습니다. >>> import random >>> random.Random(1).random() 0.13436424411240122 >>> random.Random(1).random() 0.13436424411240122 >>> random.SystemRandom(1).random() 0.6490113165803764 >>> random.SystemRandom(1).random() 0.1295135574954781 >>> random.SystemRandom(1).random() 0.7727918191932017 문서의 내용을 간단히 말하자면...SystemRandom 에 넣어주는 seed 값은 아무 의미가 없다고 합니다. OS 에서 random값을 얻기 때문입니다. 리눅스의 경우는 /dev/random, /dev/urandom 등에서 얻는 모양인데 자세한건 잘 모르겠습니다. ^^; 위의 테스트 한 내용을 보면 그냥 Random(1) 으로 같은 시드값을 준 경우엔 random 값이 동일한걸 알 수 있습니다. SystemRandom 에서도 seed 를 '1' 로 동일하게 넣어 주었으나 시드값을 무시하고 각기 다른 랜덤값이 출력되는 걸 볼 수 있습니다. >>> i=[i for i in range(1,20)] >>> i [1, 2, 3, 4, 5,...