Python

Python 9. range 함수, Random 모듈

5_jinseok12 2019. 9. 27. 10:48
728x90

Range 함수

 

for 문은 숫자 리스트를 자동으로 만들어주는 range함수와 함께 사용되는 경우가 많다.

 

range함수는 기본적으로

 

range(종료) :                0부터  종료숫자 -1까지 범위

range(시작,종료) :         시작숫자부터 종료숫자 -1까지 숫자 범위

range(시작,종료,증가값): 시작숫자부터 종료숫자 -1까지 증가 값만큼 증가된 숫자범위

 

ex) list(range(1,10,2)) -> 1이상 9이하의 범위에서 1부터 2씩 더해진 값

 

[그림 1] range 함수

 

list(range(10))   :  0부터 9까지 리스트를 출력.

list(range(5,10)) :  5부터 9까지 리스트를 출력.

list(range(1,10,2)) : 1부터 9까지 2씩 증가된 리스트를 출력.

 

 

[그림 2] for문과 range함수를 이용

 

result = 0     :  결과값을 담을 변수를 나타낸다.

result = result += i   :   1,1+2,1+2+3.... , 1+2+3+4+5+6+7+8+9+10

print(result)  :   1부터 10까지 모두 더한 값을 출력한다

 

 

 

[그림 3] range 함수와 변수

 

 

변수도 사용 가능하다

result = 0   :   결과값을 담을 변수

for i in range(1,var_num,2)   :   1부터 var_num(35-1=34)까지 2증가 단위를 나타낸다.

print(result)   :   1부터 var_num까지 모두 더한 값을 출력

 

 

 

Random 모듈

 

파이썬에서 random관련 함수들을 사용할 수 있도록 random모듈을 내장하고 있다

Random함수를 통하여서 난수를 생성 할 수 있다

랜덤 함수들을 사용하기 위해서는 먼저 임포트를 해야 한다.

 

[그림 4] Random 함수 종류

 

 

random.randint(시작, 종료)

: 시작값이상 종료값 이하의 정수를 난수로 생성한다

즉 1이상 100이하의 정수를 난수로 생성한다

 

[그림 5] random.randint

 

random.randrange(시작,종료,증가값)

: 시작값이상 종료값 미만의 난수를 리턴.

즉 0부터 10까지 2의 배수가 랜덤으로 나타난다.

 

[그림 6] random.randrange

 

random.sample(range(시작,종료),리턴값 개수)

: 시작값 이상 종료값 미만의 값을 리스트 형식으로 반환(중복은 없다)

 

random.sample(range(1,101),5)

1부터 100까지의 숫자가 랜덤으로 5개의 리스트 형식으로 나온다

random.sample(range(1,101),3)

1부터 100까지의 숫자가 랜덤으로 3개의 리스트 형식으로 나온다

 

[그림 7] random.sample

 

random.choice(변수명)

: 리스트, 튜플에서 랜덤하게 항목을 뽑을 때 사용한다.

 

 

리스트 subject 안에 ['python','java','C언어','C++'] 의 값을 랜덤으로 뽑아낸다.

 

[그림 8] random.choice

 

random.shuffle(변수명) : 리스트에 있는 항목들의 순서를 랜덤하게 재배치한다.

리턴값이 없고, 전달하는 변수 자체를 바꾸어버린다.

(리스트가 바뀌기 때문에 튜플은 안된다.)

 

 

[그림 9] random.choice

반응형