首页后端开发Python少博士趣学Python - 绘制有趣图形

少博士趣学Python - 绘制有趣图形

时间2023-07-06 06:32:01发布访客分类Python浏览633
导读:带着小孩(快8岁了)一起入门 python,参考书《少博士趣学Python》1. 安装编辑器https://thonny.org/thonny编辑器有以下几个优点:简单易用,适合初学者。 Thonny的界面简洁明了,专为初学者设计, eas...

带着小孩(快8岁了)一起入门 python,参考书《少博士趣学Python》

1. 安装编辑器

https://thonny.org/

thonny编辑器有以下几个优点:

  1. 简单易用,适合初学者。 Thonny的界面简洁明了,专为初学者设计, easy to get started。不会因为各种复杂的功能菜单而感到困惑。
  2. 一站式环境:就像宜家家居一样,一站购全。Thonny内置了Python环境,可以立即运行代码,不需要配置复杂的环境。
  3. 调试体验好:就像扫地机器人一样聪明。Thonny提供了方便的调试工具,可以一步步调试,查看变量值,设置断点等,调试体验极佳。
  4. 解释器视图直观:就像超市的鱼缸一样,一目了然。 Thonny使用简单直观的解释器视图展示代码的运行,可以清晰地理解Python代码的执行过程。
  5. 支持混合模式:就像奶茶一样兼具各种口味。Thonny同时支持编辑运行Python 3和Python 2 代码,可以体验两种Python版本,过渡到Python 3。
  6. 开源免费:就像阳光和空气一样自由。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核实处理,我们将尽快回复您,谢谢合作!

pythonimport编辑器变量调试

若转载请注明出处: 少博士趣学Python - 绘制有趣图形
本文地址: https://pptw.com/jishu/291404.html
Python语法基础快速回顾 Python小姿势 - ## Python中的迭代器与生成器

游客 回复需填写必要信息