少博士趣学Python - 绘制有趣图形
带着小孩(快8岁了)一起入门 python,参考书《少博士趣学Python》
1. 安装编辑器
https://thonny.org/
thonny编辑器有以下几个优点:
- 简单易用,适合初学者。 Thonny的界面简洁明了,专为初学者设计, easy to get started。不会因为各种复杂的功能菜单而感到困惑。
- 一站式环境:就像宜家家居一样,一站购全。Thonny内置了Python环境,可以立即运行代码,不需要配置复杂的环境。
- 调试体验好:就像扫地机器人一样聪明。Thonny提供了方便的调试工具,可以一步步调试,查看变量值,设置断点等,调试体验极佳。
- 解释器视图直观:就像超市的鱼缸一样,一目了然。 Thonny使用简单直观的解释器视图展示代码的运行,可以清晰地理解Python代码的执行过程。
- 支持混合模式:就像奶茶一样兼具各种口味。Thonny同时支持编辑运行Python 3和Python 2 代码,可以体验两种Python版本,过渡到Python 3。
- 开源免费:就像阳光和空气一样自由。Thonny是MIT许可的开源软件,完全免费使用。 总之,Thonny就像一位温和的老师,专业而又简单易懂,深受初学者的喜爱。它简单、易用、功能全面,是学习Python的不二之选。
点击 next,选择安装路径,勾选创建桌面快捷方式,finish
尽量使用英文开始,编程世界里英语是通用语言。
另外,也可以使用官方的编辑器 IDLE https://www.python.org/downloads/
在线编辑器 https://replit.com
2. thonny 简单使用
在 thonny 编辑下方shell窗口输入数学表达式,可以进行数学计算
print
函数可以打印输出字符串到屏幕
打印10次我要学python
在 shell 窗口修改代码很不方便,我们可以新建代码文件,在编辑器里进行编写和修改代码
3. 使用python绘图
使用 turtle 包来绘图
import turtle
pen = turtle.Pen()
pen.forward(100) # 向前走100
pen.right(90) # 向右转90度
pen.forward(100) # 向前走100
pen.right(90) # 向右转90度
pen.forward(100) # 向前走100
pen.right(90) # 向右转90度
pen.forward(100) # 向前走100
pen.right(90) # 向右转90度
点击 绿色的三角 或者 按下F5键
弹出的窗口中一个三角形的图标开始移动画图了
那现在我们要画正8边形,变化的是什么?旋转角度+边的条数
import turtle
pen = turtle.Pen()
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
你发现了什么?是不是一样的代码重复写了8次?我们怎么省点力气呢?
循环来帮忙呀!for 、while 循环可以实现重复执行一些指令
import turtle
pen = turtle.Pen()
for i in range(8):
pen.forward(100) # 向前走100
pen.right(45) # 向右转45度
也可以画出上面一样的图形,是不是代码少写了很多,很简洁!
红色箭头的地方需要按下4个空格,或者 按下一次 Tab 键,叫做代码缩进。缩进数量一样的代码称为一组代码块
代码中的 i
是变量,可以存储数据
- 让我们做一个练习吧,画出一个正方形,旋转 6 度后,接着画同样大小的正方形,重复60次
import turtle
pen = turtle.Pen()
for i in range(60): # 画60个正方形
for j in range(4): # 画一个正方形的代码块,画4条边
pen.forward(100) # 向前走100
pen.right(90) # 向右转90度
pen.right(6) # 画完了一个正方形,笔旋向右转6度
我们可以调整上面程序里面的数字,看看能画出什么漂亮的图形
4. 酷炫图形
上面我们每次走的长度是固定的,我们可以把每次走的长度 +1,for 循环中的变量 i 会每次 +1 ,我们来做个实验,测试下 for 循环 i 的值
我们做了 10 次循环,每次循环把 i 的值打印出来了,0 到 9 正好是 10 个数字
那我们来画图,每次画的线的长度是慢慢增加的哦
import turtle
pen = turtle.Pen()
for i in range(50):
pen.forward(i) # 向前走i距离
pen.right(90) # 向右转90度
import turtle
pen = turtle.Pen()
for i in range(100):
pen.forward(i) # 向前走i距离
pen.right(91) # 向右转91度
转60度的情况
转110度的情况
你能在纸上画出来这么标准的图形吗?是不是会很累,计算机可不会出现手酸、手抖的情况。
5. 给点颜色
import turtle
turtle.bgcolor('black') # 给背景颜色设置为 black 黑色
pen = turtle.Pen()
pen.width(3) # 线条的宽度是 3
for i in range(100): # 循环100次
pen.pencolor('red') # 笔设置为 red 红色
pen.forward(4*i) # 线长度 4 x i 的结果
pen.right(96) # 向右旋转96度
pen.pencolor('green') # 绿色 green
pen.forward(4*i) # 线长度 4 x i 的结果
pen.forward(96) # 向右旋转96度
6. 作业
画出两种五角星
提示:使用 for 循环画直线+转多少度接着画,转角是多少度,需要用到些几何知识
b = 36+a
b+36 = 90
b = 54, a = 18
2a = 36
180-36 = 144
第一种五角星参考代码如下:
import turtle
pen = turtle.Pen()
for i in range(5):
pen.forward(100) # 向前走100
pen.right(144) # 向右转?度
第二种五角星
先向左转72度,再向右转144度
import turtle
pen = turtle.Pen()
for i in range(5):
pen.forward(100) # 向前走100
pen.left(72) # 向左转?度
pen.forward(100)
pen.right(144) # 向右转?度
画100种个圆圈
不限制颜色和位置
import turtle
import random
pen = turtle.Pen()
colors = ['red', 'green', 'orange'] # 循环使用这3种颜色
for i in range(100): # 画100次
pen.circle(5*i) # 圆的半径不断变大
pen.forward(i) # 画完了,笔会往前移动 i 距离
pen.pencolor(colors[i%3]) # 循环使用不同的颜色
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 少博士趣学Python - 绘制有趣图形
本文地址: https://pptw.com/jishu/291404.html