软工作业:(2)硬币游戏--代码分析与改进
目的:
1.python程序阅读理解
2.学习python编码风格指南中译版,改进python程序
3.设计游戏规则,使得慈善事业可持续。
step1: fork老师的仓库
step2: clone到本地,修改后push到远程仓库
接下来进行代码的修改
运行出现错误
接着打开cmd
接着输入
pip3.6 install numpy
pip3.6 install matplotlib
无法解决此问题,不能成功运行,跳过
代码规范化
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 import random 4 import numpy as np 5 import matplotlib.pyplot as plt 6 from matplotlib import mlab 7 from matplotlib import rcParams 8 9 10 # 初始参数设置 11 Box_sum =500 # 箱子中剩余硬币数量,初始值 12 People_Flag= random.randint(1,10) # flag 模拟人们取硬币或放硬币的概率 1~10 13 Threshold = 2.5 # 阈值,可调: 1~Threshold 为取硬币,Threshold+1 ~10 为放硬币 14 Max_TakeCoin=5 # 最多可取硬币数量 15 Max_DonateCoin=1 # 最多可放硬币数量 16 17 delata=0 # 取、放硬币数量 18 Box_per_remain= [500] # 每次箱子中硬币余额,list 19 20 21 # 算法模拟 22 for x in range(1,5000): # 循环次数表示参与人数 23 flag= random.randint(1,10) # flag 模拟人们取硬币或放硬币的概率 24 if flag > Threshold: 25 # 放硬币 26 delta=random.randint(1,Max_DonateCoin) 27 delta=random.randint(1,delta) # 模拟了人们捐款可能性,有偏少的倾向 28 Box_sum =Box_sum + delta 29 Box_per_remain.append(Box_sum) 30 else: 31 # 取硬币 32 delta=random.randint(1,Max_TakeCoin) 33 delta=random.randint(delta,Max_TakeCoin) # 模拟了人 取硬币的可能性,偏多的倾向 34 if Box_sum < delta: 35 Box_sum =0 # 如果不够取,则取光 36 else: 37 Box_sum =Box_sum - delta 38 Box_per_remain.append(Box_sum) 39 40 print(Box_per_remain) 41 42 43 # 绘图区 44 fig = plt.figure() 45 46 ## 1. 标题、X、Y 轴 label 47 plt.title('Subway testing') 48 plt.xlabel('Time') 49 plt.ylabel('Money remained') 50 51 x= np.arange(len(Box_per_remain)) 52 53 ## 2. data 54 55 plt.plot(x,Box_per_remain,color='r') 56 plt.bar(x,Box_per_remain,alpha=.5,color='g') 57 58 plt.show()
step3:修改代码
修改阈值为3.5,最多可取硬币数为3,最多可放银币数为2
1 old = 3.5 # 阈值,可调: 1~Threshold 为取硬币,Threshold+1 ~10 为放硬币 2 Max_TakeCoin=3 # 最多可取硬币数量 3 Max_DonateCoin=2 # 最多可放硬币数量
push至远端仓库https://gitee.com/a56787962007/Game