python从入门到实践15章的几个自己的小程序
练习15-1自己的答案
#加入python画图的库 pyplot
import matplotlib.pyplot as plt
#生成一个list
input_values= list(range(1,6))
#根据代码迭代生成一个列表
cube = [i ** 3 for i in input_values]
#调用plt的scatter方法,c代表颜色,s代表每个点的面积
plt.scatter(input_values,cube,c='red',s = 30)
#指定x轴的标签和标签大小
plt.xlabel("values",fontsize=15)
#指定y轴的标签和标签大小
plt.ylabel("cubic",fontsize=15)
#指定图片的标题
plt.title("first program",fontsize=15)
#指定坐标轴刻度和刻度大小,tick英文意思是标记、刻度
plt.tick_params(axis='both',labelsize=10)
#指定坐标轴的范围
plt.axis([0,50,0,50])
#指定保存的文件名savefig("file_name.png"),其中扩展名自动是png,扩展名可以不指定
plt.savefig('cube.png')
15.3.3绘制随机漫步图
#random_walk.py
from random import choice#新建一个类,类的抽象性能更好地解决问题,而且代码更清晰
class RandomWalk():"""一个生成随机漫步数据的类"""def __init__(self,num_points=5000):self.num_points = num_points#所有的随机漫步都从(0,0)开始#这两个列表都存储每一步的横坐标和纵坐标的位置self.x_values = [0]self.y_values = [0]def fill_walk(self):"""计算随机漫步包含的所有点"""while len(self.x_values) < self.num_points:#决定前进方向以及沿这个方向前进的距离#choice方法作用,从一个列表、元组或字符串中随机返回一个值x_direction = choice([1,-1])x_distance = choice([0,1,2,3,4])x_step = x_direction * x_distancey_direction = choice([1,-1])y_distance = choice([0,1,2,3,4])y_step = y_direction * y_distance#拒绝原地踏步if x_step == 0 and y_step == 0:continue#计算下一个点的x和y的值#x_values[-1]表示列表的最右一个元素,是不是很简单next_x = self.x_values[-1] + x_stepnext_y = self.y_values[-1] + y_step#在2个列表的末尾添加2个新的位置self.x_values.append(next_x)self.y_values.append(next_y)
#walk.py
from random_walk import RandomWalk
import matplotlib.pyplot as plt#rm是类RandomWalk的一个实例
rm = RandomWalk()
#运行rm的方法fill_walk,使得这个实例完成随机漫步
rm.fill_walk()
#rm完成随机漫步后,rm的属性就改变了,调用2个属性(都是列表)进行画图
#s是面积,我个人的理解是每个点的面积(单位是像素哦)
plt.scatter(rm.x_values,rm.y_values,s=10)
#显示出图像,也可以使用plt.savefig("figname"),其中文件名的扩展名默认值是png,用户可以省略
#采用编译器给的默认值png
plt.show()
效果
练习15.3
import matplotlib.pyplot as plt
from randomwalk import RandomWalk
while True:rw = RandomWalk()rw.fill_walk()plt.plot(rw.x_values,rw.y_values,linewidth = 4)plt.show()keep_running = input("Another walk(y/n)?")if keep_running == 'n':break
import matplotlib.pyplot as plot
from random import choice
class RandomWalk():def __init__(self,num_points=5000):self.num_points = num_pointsself.x_values = [0]self.y_values = [0]def fill_walk(self):while len(self.x_values) < self.num_points:x_direction = choice([-1,1])x_distance = choice([0,1,2,3,4])x_step = x_direction * x_distancey_direction = choice([-1,1])y_distance = choice([0,1,2,3,4])y_step = y_direction * y_distanceif x_step == 0 and y_step == 0:continuenext_x = self.x_values[-1] + x_stepnext_y = self.y_values[-1] + y_stepself.x_values.append(next_x)self.y_values.append(next_y)
15.5
1.py
import matplotlib.pyplot as plt
from randomwalk import RandomWalk
while True:rw = RandomWalk()rw.fill_walk()plt.plot(rw.x_values,rw.y_values,linewidth = 4)plt.show()keep_running = input("Another walk(y/n)?")if keep_running == 'n':break
randomwalk.py
import matplotlib.pyplot as plot
from random import choice
class RandomWalk():def __init__(self,num_points=5000):self.num_points = num_pointsself.x_values = [0]self.y_values = [0]def fill_walk(self):while len(self.x_values) < self.num_points:x_step = self.get_step()y_step = self.get_step()if x_step == 0 and y_step == 0:continuenext_x = self.x_values[-1] + x_stepnext_y = self.y_values[-1] + y_stepself.x_values.append(next_x)self.y_values.append(next_y)def get_step(self):direction = choice([-1,1])distance = choice([0,1,2,3,4])return direction * distance
python从入门到实践15章的几个自己的小程序相关推荐
- python从入门到实践13章答案
系列文章目录 python从入门到实践12章答案 python从入门到实践14章答案 目录 前言 一.13-1星星 二.13-2更逼真的星星 三.13-3雨滴 四.13-4连绵细雨 五.13-5 侧 ...
- python从入门到实践19章答案
目录 前言 一.博客 1.建立项目 2.创建应用程序 3.Django管理网站 4.让用户输入数据 二.博客账户 1.应用程序users 2.登录页面 3.注销 4.注册页面 三.重构 四.保护页面n ...
- python从入门到实践18章答案
目录 前言 一.新项目 二.简短的条目 三.Django API 四.比萨店 1.创建虚拟环境.安装Django.创建项目.创建数据库.创建应用程序 2.定义模型 3.激活模型 4.向管理网站注册模型 ...
- python 数据挖掘 简书_[Python数据挖掘入门与实践]-第一章开启数据挖掘之旅
1.数据挖掘简介(略) 2.使用Python和IPython Notebook 2.1.安装Python 2.2.安装IPython 2.3.安装scikit-learn scikit-learn是用 ...
- python数据挖掘入门与实践-第一章-用最简单OneR算法对Iris植物分类
前言: 这本书其实有配套代码的来着,但是有点坑的是,里面的代码对应的版本是有点旧的,用的时候会警告或者已经报错.甚至有些代码书里提了但是却没有写进去,要自己去摸索.我是每一章都跟着代码示例,把每一个步 ...
- python从入门到实践18章django存在问题_第18章 Django入门 P371
声音简介-感谢粉丝NN娜娜小天使的打赏,此音频即日起以24小时/天,1次/小时的速度更新,直至完结~ 特别说明: 此音频仅作为更好地阅读此书的辅助工具,请大家购买正版书籍. 所有音频全部免费供大家试听 ...
- 《Python从入门到实践》读书笔记——第六章 字典
<Python从入门到实践>读书笔记--第六章 字典 1. 一个简单的字典 alien_0 = {'color': 'green', 'points': 5}print(alien_0[' ...
- python从入门到实践十二章
python编程从入门到实践12章 今天看了星球里面一位学长的经历,感到很受鼓舞,他参加工作三年了,三月份到四月份自学完了三本书,感到和学长差距很大,我要努力去弥补! 决定首先开始三本书,廖雪峰的py ...
- Python从入门到实践第9章课后作业
Python从入门到实践第9章课后作业 编写过程中不知道如何将列表传入子类中,下面实例中均没有使用 #9-1 # class Restaurant(): # """模拟饭 ...
最新文章
- Codeforces Round #684 (Div. 2)
- [你必须知道的.NET]第二十回:学习方法论
- Synchronize和ReentrantLock区别
- bootsect Linux,linux_bootsect选读.doc
- java for新循环_java新特性-新式for循环(For_Each)
- Win7下建立Wifi热点
- 内核sk_buff工作线程总结
- 汇编语言王爽第四版实验三(第一个程序)
- 为计算机快捷方式是什么原因,为什么我的电脑界面上的东西都变成快捷方式??...
- Windows 下使用 Mingw32-make 来执行 Makefile示例
- 谷歌AI版“你画我猜”刷屏朋友圈,背后是这样的原理!
- memcmp的用法 详讲
- iPhone7 更新iOS13.3软件闪退
- 腾讯互娱旗下工作室一览
- 微信windows版_安卓首发!微信黑暗模式来了
- 【Android】利用爬虫将电影网站打包成一个APP
- Java网络编程 获取本地主机名称和地址
- python pil模块
- hive计算航班某型号个数_机型分配就是把航班集合按照机型分割成子集。( )...
- 【每日一读】High-order Proximity Preserving Information Network Hashing
热门文章
- [Python图像处理] 三.获取图像属性、兴趣ROI区域及通道处理
- 【数据结构与算法】之深入解析“组合总和II”的求解思路与算法示例
- 【数据结构与算法】之N个数中有K个数可能的组合算法
- 2019年第十届蓝桥杯 - 省赛 - C/C++研究生组 - G. 扫地机器人
- 18万,是特斯拉的底线,是马斯克的目标!
- 112. Path Sum 路径总和
- 在Python中添加自定义模块
- 频率计设计——电路部分
- 【Qt】数据库用户接口层
- 【Tools】VNC Server 6.7安装详解