スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

「100人を部屋に集めてお金をランダムな相手に渡し続ける」とだんだんと貧富の差が生まれる?を検証してみる。【途中】

元記事

ほんまかいなーと python の導入がてら書いてみるとする。
記事内では 100人100ドルじゃなくて 45人45ドルとなってたので、そっちに合わせてみた。

##################################################
# coding: Shift_JIS
import random

for nn in range(100):

money = []
for n in range(45): # 全員に 45ドルもたせる
money += [45]

for n in range(5000):
index1 = random.randint(1,45) - 1
if(money[index1] == 0): # あげる予定の人が金もってなかったらやりなおす
n-=1
continue
else:
index2 = random.randint(1,45) - 1
if(index2 == index1): # index 重複したらやりなおす
n-=1
continue
else: #あげる人は金が減って、もらう人は金が増える
money[index1]-=1
money[index2]+=1

f = open('result.csv', 'a')

money.sort()

for n in money:
f.write(str(n) + ",")
f.write('\n')
f.close()

#End
###################################################

ほんとは github にあげてみようと思ったが、なんかさくっとはできなかったのでおいおいがんばる。
python をインストールしてパス通して↑を実行。
5000回交換を 100 試行程度じゃせいぜい最大値で 100ドル超が二回であった。
150ドル超となると相当なレアケースのような気がするが、統計的な考察が必要そうなのでいったんはこのへんで切り上げる。
統計的アプローチをしてみたいかたがあれば、python 環境整えて、試行数を増やすなり試してみるとよいかと。

■本日の成果。
python 触れる環境を構築。
print の文法がバージョンで変わったらしい。古い記事を参考にする場合は注意。
python の配列操作が C言語 とはちょっと違うことを学習。
配列のindex は 0 スタート。配列操作の関数は使いやすい気がする。
github のアカウントだけはとった。

■今後の課題
確率的考察
github レポジトリに push できるようになる
スポンサーサイト
プロフィール

K_maebara

Author:K_maebara
ぷよm@s に影響されて初代ぷよぷよにはまってしまったSUNぷよら~です。
ぷよら~といいつつも最近ぷよってませんが。
デスタワーがメイン戦法。
パズル系RPG系中心のそこそこのゲーマーでもあります。
直近は麻雀やポーカー触ってます。
ツイッターやってます。アカウント K_maebara

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。