软件工程第二次作业

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程第二次作业相关的知识,希望对你有一定的参考价值。

1、fork 老师的仓库

通过点击右上角的fork将老师的仓库复制到自己的码云中。

技术分享

 

2、clone 到本地,修改后 push 到你的远端仓库

1)将你的仓库Game.git clone到本地, 运行Python 程序,截图。

输入clone的代码,将Game clone到D盘的SE文件夹下,截图如下。

技术分享

打开Python运行前要先下载numpy并安装好,代码如截图中所示。

技术分享

技术分享

打开Python运行Game程序,得到数据和图形。

技术分享

 

2)【必做】学习 Python 编码风格指南中译版(Google SOC); 依据代码规范改进代码。

①.加入抛出异常语句

class Error(Exception):
  """Base exception for all exceptions raised in module Foo."""
  pass

使用FOO是轻量化风格

②.应该按照字母顺序排序,但所有以 from ... 开头的行都应该靠前,然后是一个空行,再然后是所有以 import ... 开头的行。以 import ... 开头的标准库和第三方库的 import 应该放在最前面,而且和其他分组隔开import 分组、排序和整理: 一行一个,按包名字分组顺序放置,按字母顺序排序将引入的三个包按照字母排序,使看起来更清晰方便

③.我们通过设置一个名为 __pychecker__ 的模块级别变量来适当禁用某些警告

 

__pychecker__ = ‘no-callinit no-classattr‘

 

 

3)将你的修改commit 并 push 到你远端的仓库。

在git bash界面输入commit语句。

技术分享

跳出登陆码云账号的界面,登陆后就commit成功了。

技术分享

 

 附录:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from matplotlib import mlab
from matplotlib import rcParams

import matplotlib.pyplot as plt
import numpy as np
import random

# 初始参数设置
Box_sum =500 # 箱子中剩余硬币数量,初始值
People_Flag= random.randint(1,10) # flag 模拟人们取硬币或放硬币的概率 1~10
Threshold = 2.5 # 阈值,可调: 1~Threshold 为取硬币,Threshold+1 ~10 为放硬币
Max_TakeCoin=5 # 最多可取硬币数量
Max_DonateCoin=1 # 最多可放硬币数量

delata=0 # 取、放硬币数量
Box_per_remain= [500] # 每次箱子中硬币余额,list


# 算法模拟
for x in range(1,5000): # 循环次数表示参与人数
flag= random.randint(1,10) # flag 模拟人们取硬币或放硬币的概率
if flag > Threshold:
# 放硬币
delta=random.randint(1,Max_DonateCoin)
delta=random.randint(1,delta) # 模拟了人们捐款可能性,有偏少的倾向
Box_sum =Box_sum + delta
Box_per_remain.append(Box_sum)
else:
# 取硬币
delta=random.randint(1,Max_TakeCoin)
delta=random.randint(delta,Max_TakeCoin) # 模拟了人 取硬币的可能性,偏多的倾向
if Box_sum < delta:
Box_sum =0 # 如果不够取,则取光
else:
Box_sum =Box_sum - delta
Box_per_remain.append(Box_sum)
class Error(Exception):
"""Base exception for all exceptions raised in module Foo."""
pass
print(Box_per_remain)


# 绘图区
fig = plt.figure()

## 1. 标题、X、Y 轴 label
plt.title(‘Subway testing‘)
plt.xlabel(‘Time‘)
plt.ylabel(‘Money remained‘)

x= np.arange(len(Box_per_remain))

## 2. data

plt.plot(x,Box_per_remain,color=‘r‘)
plt.bar(x,Box_per_remain,alpha=.5,color=‘g‘)

plt.show()

__pychecker__ = ‘no-callinit no-classat

 

链接:

https://gitee.com/MieMiesnj/Game/commit/2e4bab2dfc9aebef3d2cf80639870de4846d1b30

 











































以上是关于软件工程第二次作业的主要内容,如果未能解决你的问题,请参考以下文章

软件工程(2018)第二次个人作业

软件工程-第二次作业-例行报告

2017软件工程第二次作业

软件测试作业第二次作业

软件工程第二次作业

2017秋-软件工程第二次作业