Histogram.py
这次直方图需要导入以下两个包,但他们不是python自带的标准包,要手动下载,如果是老师的软件的话,就不用下载
import matplotlib.pyplot
import numpy
推荐下载方式
如果是python.exe安装
链接:https://pan.baidu.com/s/1j_ArPBpIzdFKrj5yY5NKQg
提取码:ddds
复制这段内容后打开百度网盘手机App,操作更方便哦
运行cmd ,执行下面语句
pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
第二种方式
将python添加到path路径
如果第一种不行,点击尝试第二种方式,有专门博客介绍会比较麻烦
一、老师的写法
"""Histogram.py
10点満点のテストの得点(0-10)50人分について,点数ごとの人数の度数分布図を表示する。
50人分の得点は乱数で生成する。
"""
import random
import matplotlib.pyplot as plt
import numpy as np
N = 50 # 50人
m = 10 # 10点満点
# 得点一覧listを初期化"
scores = []
# 度数の集計用listを0で初期化
dist = [0]*(m+1)
"""
0-10の乱数を生成して,scoresに追加し、
さらにdistの各要素に加算する
これを50人分繰り返す
"""
for i in range(N):
s = random.randint(0, m)
scores.append(s)
dist[s] += 1
print("得点一覧:", scores)
print("---")
# 得点ごとの人数を*の数で示す
for i in range(m+1):
asta = "*"*dist[i]
print(f"{str(i):2}点:{asta}")
# 得点表示をformatで左寄せに書式設定
print("---")
a = np.arange(11) + 0.5
print(a)
plt.hist(scores, a, rwidth=0.8)
plt.show()
二、自己的写法
代码短一点,只输出直方图
import random
import matplotlib.pyplot as plt
import numpy as np
r = [random.randint(0, 10) for i in range(50)]
a = np.arange(11) + 0.5
print(a)
plt.hist(r, a, rwidth=0.8)
plt.show()