一个有趣的罪犯与盒子的问题,罪犯盒子,[Python]代码im
一个有趣的罪犯与盒子的问题,罪犯盒子,[Python]代码im
[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 ''' 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()
相关内容
- 使MySQLdb的SQL查询中支持?以及:xxx的查询方式,mysqldb查询
- 3行Python代码解简单的一元一次方程,3行python,[Python]代
- python删除文件及文件夹,python删除文件,import os#删除
- 批量下载图片 - Python,,#!/usr/bin/e
- 自动下载并更新壁纸(Linux可用),更新壁纸linux可用,代码
- 调用 MySQL 存储过程并获得返回值,mysql存储过程,try:
- PyQt写的浏览单web页面的browser,pyqtbrowser,程序代码#!/u
- tornado 用上装饰器路由,tornado路由,base.py 这个是改
- python多进程分块读取文件,,[Python]代码#
- 子网掩码格式转换,,子网掩码转换# codi
评论关闭