益智盒子问题python的解决方法,益智盒子python,益智盒子问题python
益智盒子问题python的解决方法,益智盒子python,益智盒子问题python
益智盒子问题python的解决方法,也可以叫罪犯与盒子的问题。
import sys import random def strategy(boxes, p): ''''' return True if strategy success ''' return False def simulate(n, strategy, times): ''''' n: number of boxes or prisoners strategy: strategy used times: random simulation times return numbers of succeeded prisoners as list www.iplaypy.com ''' boxes = range(n) result = [] for i in xrange(times): random.shuffle(boxes) success = 0 for p in xrange(n): if strategy(boxes, p): success += 1 result.append(success) return result def standard_strategy(boxes,p): times_remain = len(boxes)/2 current = p while times_remain > 0: times_remain -=1 if boxes[current] ==p: return True else: current = boxes[current] return Falsen = 100result = simulate(n,standard_strategy,100)print resultimport matplotlib.pyplot as pltdist = [result.count(i) for i in range(n+2)]plt.bar(range(n+2),dist)plt.show()
编橙之家文章,
相关内容
- 调试js解决跨域问题python小工具,jspython,这是一个我以
- Python关于端口复用及线程操作方法,python复用,以下代码
- 用python实现函数调用拦截,python函数拦截,写的这个关于
- ipv4与ipv6地址如何转换的python解决办法,ipv6python,ipv4与
- python将ios及android文件写成excel的小工具,iosandroid,用p
- Python内置方法实现访问权限控制,python权限控制,Pytho
- Python获取MP3文件id3信息的方法源码,pythonid3,Python获取
- Python socket方法获取接口IP地址,pythonsocket,Python socke
- Python代码片段之Django静态文件URL的配置,,首先要说明这
- 一个初学者对正则表达式学习的小问题,初学者正则表
评论关闭