python内置库:
1,Random模块:
函数 | 含义 |
---|---|
random() | 生成一个[0,1.0)之间的随即浮点数 |
uniform(a,b) | 生成一个a,到b的随即浮点数 |
randint(a,b) | 生成一个a到b之间的随机整数 |
choice() | 从列表中随机返回一个值 |
shuffle() | 将列表中随即元素打乱 |
sample(,k) | 从指定的列表中随机获取k个值 |
2,matplotlib模块:
数据可视化函数库;
子模块pyplot提供了2D图表制作的基本函数
散点图绘制:
import matplotlib.pyplot as plt
x = range(1,11)
y = range(1,100,10)
plt.scatter(x,y)
plt.show()
直方图绘制:
result_list = [1,1,2,3,4,5,6,7,6,5,4,5,7,10,11,11,9,3,5,8,7,4]
plt.hist(result_list,bins = range(1,11),normed = 1,edgecolor = "black",linewidth = 1)
plt.title("数字统计图")
plt.xlabel("数字")
plt.ylabel("概率")
plt.show()
3,numpy模块
强大的N维数组对象array;成熟的科学函数库;实用的线性代数、随机数生成函数等
python方法:
1,numerate()函数
用于将可遍历的组合转换为一个索引序列,一般用在for循环中,同时列出元素和元素的索引号
L = [“a”,”b”,”c”,”d”,”e”,”f”]
For i,x in enumerate(l):
Print(“{}—{}”.format(i,x))
2,zip函数
用于将对应的元素打包成一个元组(元组中的元素不可修改,若要修改需要转换成字典或其他)
l1 = [1,2,3,4,5,6]
l2 = [2,3,4,5,6,7]
l3 = zip(l1,l2)
dict(l3)
掷骰子游戏实例
#!/usr/bin/env python
#-*- coding:utf-8 -*-
'''
@author : FIGTHING
@file : dice1.0.py
@function: 直方图可视化掷两次骰子之和
@software: Pycharm
@time : 2019/03/25/16:26
'''
import matplotlib.pyplot as plt
import numpy as np
#图表识别中文
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"]=False
def main():
"""
主函数
"""
rool_num = 100
#初始化一个计算两次掷骰子之和的次数的列表
rool1_arr = np.random.randint(1,7,size = rool_num)
rool2_arr = np.random.randint(1,7,size = rool_num)
result_list = rool1_arr + rool2_arr
hist,bins = np.histogram(result_list,bins = range(2,13))
#print("{}--{}".format(bins,hist))
#数据可视化
plt.hist(result_list,bins = range(2,14),normed = 1,edgecolor = "black",linewidth = 1,rwidth=0.8)
#设置x轴坐标点显示
tick_labels = ["2点","3点","4点","5点","6点","7点",
"8点", "9点", "10点", "11点", "12点",]
tick_pos = np.arange(2,13) +0.5
plt.xticks(tick_pos,tick_labels)
plt.title("两个骰子点数之和统计图")
plt.xlabel("点数和")
plt.ylabel("概率")
plt.show()
if __name__ == "__main__":
main()
“”"***笔者的话:简单介绍了在编写掷骰子时所用到的几种python内置库以及内置的函数方法,希望对大家有所帮助。FIGHTING...(热烈欢迎大家批评指正,互相讨论)
("Smile with face. Smile with mind." --《美食、祈祷和恋爱》
) ***"""