【《Python编程:从入门到实践》练习题代码实现——第十五章】(Geany编写,窗口运行)

本文档介绍了《Python编程:从入门到实践》第十五章的项目,涉及立方图、彩色立方图、随机漫步模拟、重构代码、自动生成标签、多骰子模拟等实践练习,通过Python实现各种数据生成和可视化效果,提升编程技巧。
摘要由CSDN通过智能技术生成

项目2之第十五章 生成数据

动手试一试代码实现
(1)习题内容
15-1 立方:数字的三次方被称为立方。请绘制一个图形,显示前5个整数的立方值,再绘制一个图形,显示前5000个整数的立方值。
15-2 彩色立方:给你前面绘制的立方图指定颜色映射。
15-3 分子运动:修改rw_visual.py,将其中的plt.scatter()替换为plt.plot()。为模拟花粉在水滴表面的运动路径,向plt.plot()传递rw.x_values和rw.y_values,并指定实参值linewidth。使用5000个点而不是50000个点。
15-4 改进的随机漫步:在类RandomWalk中,x_step和y_step是根据相同的条件生成的:从列表[1,-1]中随机地选择方向,并从列表[0,1,2,3,4]中随机地选择距离。请修改这些列表中的值,看看对随机漫步路径有何影响。尝试使用更长的距离选择列表,如0~8;或者将-1从x或者y方向列表中删除。
15-5 重构:方法fill_walk()很长。请新建一个名为get_step()的方法,用于确定每次漫步的距离和方向,并计算这次漫步将如何移动。然后,在fill_walk()中调用get_step()两次:

x_step = self.get_step()
y_step = self.get_step()

通过这样的重构,可缩小fill_walk()的规模,让这个方法阅读和理解起来更容易。
15-6 自动生成标签:请修改die.py和dice_visual.py,将用来设置hist.x_labels值的列表替换为一个自动生成这种列表的循环。如果你熟悉列表解析,可尝试将die_visual.py和dice_visual.py中的的其他for循环也替换为列表解析。
15-7 两个D8骰子:请模拟同时掷两个8面骰子1000次的结果。逐渐增加掷骰子的同学,直到系统不堪重负为止。
15-8 同时掷三个骰子:如果你同时掷三个D6骰子,可能得到的最小点数为3,而最大点数为18。请通过可视化展示同时掷D6骰子的结果。
15-9 将点数相乘:同时掷两个骰子时,通常将它们的点数相加。请通过可视化展示将两个骰子的点数相乘的结果。
(2)代码实现

#    coding=utf_8
#
#    15-1 立方
import matplotlib.pyplot as plt
#    绘制显示前5个整数的立方值
input_values=[1,2,3,4,5]
cube=[1,8,27,64,125]
plt.plot(input_values,cube,linewidth=5)
plt.title("Cube Numbers",fontsize=18)
plt.xlabel("Value",fontsize=16)
plt.ylabel("Cube of Value",fontsize=16)
plt.show()
#    绘制显示前5000个整数的立方值
x_values=list(range(1,5001))
y_values=[x**3 for x in x_values]
plt.scatter(x_values,y_values,edgecolor='none',s=40)
plt.title("Cube Numbers",fontsize=18)
plt.xlabel("Value",fontsize=16)
plt.ylabel("Cube of Value",fontsize=16)
plt.axis([0,5100,0,130000000000])
plt.show()
#
#    15-2 彩色立方
x_values=list(range(1,5001))
y_values=[x**3 for x in x_values]
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Reds,edgecolor='none',s=40)
plt.title("Cube Numbers",fontsize=18)
plt.xlabel("Value",fontsize=16)
plt.ylabel("Cube of Value",fontsize=16)
plt.axis([0,5100,0,130000000000])
plt.show()
#
#	15-3 分子运动
import matplotlib.pyplot as plt
from random_walk import RandomWalk
#	只要程序处于活动状态,就不断地模拟随机漫步
while True:
	#	创建一个RandomWalk实例,并将其包含的点都绘制出来
	rw = RandomWalk()
	rw.fill_walk()
	#	调整窗口屏幕分辨率和尺寸
	plt.figure(dpi=128,figsize=(10,6))
	#	画连线图
	plt.plot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值