Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 출근 전날
- tensorflow 설치
- 하늘숲펜션
- 아나콘다 텐서플로
- 하늘숲황토펜션
- machine learning
- 산청 황토 펜션
- tensorflow
- 지리산 펜션
- 파이썬 GUI
- CUDA9.0
- 지리산 황토 펜션
- cuda
- 파이썬
- Python
- 계곡 펜션
- python yield
- HTML
- anaconda tensorflow
- 인공지능
- 텐서플로 설치
- 지리산 둘레길
- LISP
- 황토펜션
- LISP 함수
- 오봉 계곡
- 파이썬 yield
- ubuntu
- 하늘숲 황토 펜션
- 전용 계곡
Archives
- Today
- Total
YongWook's Notes
<파이썬> random과 배열, 생태계 개체수 예측하기 본문
파이썬의 random함수와 배열을 이용해서 생태계의 개체수를 예측하는 프로그램 예제를 공부해보자.
pop, append, extend는 배열, random, randrange는 랜덤에 쓰이는 함수이다.
설명 및 사용은 주석처리 되어있다.
import random # 두 마리가 우연히 이 공간에서 만난다. # a b 결과 # (R, R) --> (R, R, R) 토끼 2마리는 새끼를 낳아 모두 3마리가 된다. # (R, W) --> ( W ) 늑대가 토끼를 잡아 먹는다. # (W, W) --> (W) 또는 ( ) 늑대 2마리가 만나면 싸워 둘 모두 죽거나 40%, # 한 마리만 죽는다. 50% # 그리고 10%의 경우 둘을 짝이 이뤄 새끼를 낳아 # 모두 3마리가 된다. # 만일 초기 상태에 토끼 70마리, 늑대 30마리가 있으면 생태계는 어떻게 될까? world = 70*["R"]+ 30*["W"] for steps in range( 1000 ) : a = world.pop(random.randrange(len(world))) #random.randrange() 해당 범위내에서 random값 return b = world.pop(random.randrange(len(world))) #pop -> 해당 index의 원소 return후 배열에서 삭제 if a =="R" and b == "R": world.extend(["R","R","R"]) elif a == "W" and b == "W": p = random.random() #0~1사이의 random 실수값 return if p > 0.5: world.append("W") #원소 하나 추가시 elif p < 0.1: world.extend(["W","W","W"]) #여러개 원소를 추가할 시 else: world.append("W") print u"단계 :",steps, u"총->",len(world), u"R->",world.count("R") ,u"W->",world.count("W")
'-software > python' 카테고리의 다른 글
<파이썬> 파일명, 경로 변경하기 (0) | 2016.08.26 |
---|---|
<파이썬> Tkinter - GUI 예제 (4) | 2016.05.30 |
<파이썬> TKinter - GUI 만들기 (2) | 2016.04.25 |
<파이썬> 비트 연산자 (bit operation) 및 예제 (0) | 2016.04.21 |
<파이썬> 사전집합 dictionary (4) | 2016.04.16 |
Comments