练习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章的几个自己的小程序相关推荐

  1. python从入门到实践13章答案

    系列文章目录  python从入门到实践12章答案 python从入门到实践14章答案 目录 前言 一.13-1星星 二.13-2更逼真的星星 三.13-3雨滴 四.13-4连绵细雨 五.13-5 侧 ...

  2. python从入门到实践19章答案

    目录 前言 一.博客 1.建立项目 2.创建应用程序 3.Django管理网站 4.让用户输入数据 二.博客账户 1.应用程序users 2.登录页面 3.注销 4.注册页面 三.重构 四.保护页面n ...

  3. python从入门到实践18章答案

    目录 前言 一.新项目 二.简短的条目 三.Django API 四.比萨店 1.创建虚拟环境.安装Django.创建项目.创建数据库.创建应用程序 2.定义模型 3.激活模型 4.向管理网站注册模型 ...

  4. python 数据挖掘 简书_[Python数据挖掘入门与实践]-第一章开启数据挖掘之旅

    1.数据挖掘简介(略) 2.使用Python和IPython Notebook 2.1.安装Python 2.2.安装IPython 2.3.安装scikit-learn scikit-learn是用 ...

  5. python数据挖掘入门与实践-第一章-用最简单OneR算法对Iris植物分类

    前言: 这本书其实有配套代码的来着,但是有点坑的是,里面的代码对应的版本是有点旧的,用的时候会警告或者已经报错.甚至有些代码书里提了但是却没有写进去,要自己去摸索.我是每一章都跟着代码示例,把每一个步 ...

  6. python从入门到实践18章django存在问题_第18章 Django入门 P371

    声音简介-感谢粉丝NN娜娜小天使的打赏,此音频即日起以24小时/天,1次/小时的速度更新,直至完结~ 特别说明: 此音频仅作为更好地阅读此书的辅助工具,请大家购买正版书籍. 所有音频全部免费供大家试听 ...

  7. 《Python从入门到实践》读书笔记——第六章 字典

    <Python从入门到实践>读书笔记--第六章 字典 1. 一个简单的字典 alien_0 = {'color': 'green', 'points': 5}print(alien_0[' ...

  8. python从入门到实践十二章

    python编程从入门到实践12章 今天看了星球里面一位学长的经历,感到很受鼓舞,他参加工作三年了,三月份到四月份自学完了三本书,感到和学长差距很大,我要努力去弥补! 决定首先开始三本书,廖雪峰的py ...

  9. Python从入门到实践第9章课后作业

    Python从入门到实践第9章课后作业 编写过程中不知道如何将列表传入子类中,下面实例中均没有使用 #9-1 # class Restaurant(): # """模拟饭 ...

最新文章

  1. Codeforces Round #684 (Div. 2)
  2. [你必须知道的.NET]第二十回:学习方法论
  3. Synchronize和ReentrantLock区别
  4. bootsect Linux,linux_bootsect选读.doc
  5. java for新循环_java新特性-新式for循环(For_Each)
  6. Win7下建立Wifi热点
  7. 内核sk_buff工作线程总结
  8. 汇编语言王爽第四版实验三(第一个程序)
  9. 为计算机快捷方式是什么原因,为什么我的电脑界面上的东西都变成快捷方式??...
  10. Windows 下使用 Mingw32-make 来执行 Makefile示例
  11. 谷歌AI版“你画我猜”刷屏朋友圈,背后是这样的原理!
  12. memcmp的用法 详讲
  13. iPhone7 更新iOS13.3软件闪退
  14. 腾讯互娱旗下工作室一览
  15. 微信windows版_安卓首发!微信黑暗模式来了
  16. 【Android】利用爬虫将电影网站打包成一个APP
  17. Java网络编程 获取本地主机名称和地址
  18. python pil模块
  19. hive计算航班某型号个数_机型分配就是把航班集合按照机型分割成子集。( )...
  20. 【每日一读】High-order Proximity Preserving Information Network Hashing

热门文章

  1. [Python图像处理] 三.获取图像属性、兴趣ROI区域及通道处理
  2. 【数据结构与算法】之深入解析“组合总和II”的求解思路与算法示例
  3. 【数据结构与算法】之N个数中有K个数可能的组合算法
  4. 2019年第十届蓝桥杯 - 省赛 - C/C++研究生组 - G. 扫地机器人
  5. 18万,是特斯拉的底线,是马斯克的目标!
  6. 112. Path Sum 路径总和
  7. 在Python中添加自定义模块
  8. 频率计设计——电路部分
  9. 【Qt】数据库用户接口层
  10. 【Tools】VNC Server 6.7安装详解