# 导入 turtle 模块
# 模块是 python 自带的工具箱,这里将工具箱导入就能使用了
# turtle 模块是 python 用来画图的工具箱
import turtle# 将 turtle 里的工具拿出来,赋给 t 变量
# 照猫画虎用就是了,这些东西要到很后面才能理解
t = turtle.Turtle()# 这一行用来加快画笔速度,从 1~9 依次变快,但 0 是最快
t.speed(0)# 这是向前走,单位是像素
t.forward(100)
# 这是转弯,单位是角度
t.right(120)
t.forward(100)
t.right(120)
t.forward(100)
t.right(120)
# 复制三次,就画了一个三角形# 正方形
# 长方形# 如果我们需要改变三角形的边长怎么办?
# 这就要用到变量了,到时候只需改变变量就能改变长度
# 如果有相同的变量,后面定义的会覆盖前面的
l = 200
t.forward(l)
t.right(120)
t.forward(l)
t.right(120)
t.forward(l)
t.right(120)# for 循环
# 循环还有 while 循环,考虑到用不着就不讲了
# 循环用来处理重复的事情# range() 是一个区间
# range(3) 相当于 0 1 2
# range(5) 相当于 0 1 2 3 4# i 取的是 range() 里的值,一次取一个,取一次就循环一次
# 冒号后面必有缩进,缩进的代表是同一个代码块
# 照着用就行了,注意一个字符都不能敲错,不能用中文符号
for i in range(3):t.forward(l)t.right(120)# 如果想画两个三角形怎么办,再复制一个 for 循环?
# 我们用函数将代码封装起来,到时候直接调用就好了
# def 关键字用来定义函数, triangle 是函数名
# 必须要有冒号接缩进,函数里面也是一个代码块
def triangle():for i in range(3):t.forward(l)t.right(120)# 函数的调用
# triangle()# 函数可以传递参数进去
def triangle2(l):for i in range(3):t.forward(l)t.right(120)# 需要传递个参数进去才能调用这个函数
# triangle2(250)# 定一个函数画长方形# 四则运算
#   +   加
#   -   减
#   *   乘
#   /   除
#   //  整除
#   %   取余# 写一个画 n 边形的通用函数
def polygon(l, n):angle = 360 / nfor i in range(n):t.forward(l)t.right(angle)# polygon(100, 6)# 画一个五角星
def five_star(l):for i in range(5):t.forward(l)t.right(144)# five_star(100)# 画一个圆
# 边长在 36 以上就是个圆
def circle():for i in range(36):t.forward(10)t.right(15)# circle()# 在指定的坐标画图
# 比如要在坐标为 (100, 150) 的位置画个正方形
def square(x, y, l):t.penup()t.goto(x, y)t.pendown()for i in range(4):t.forward(l)t.right(90)# square(100, 150, 100)# 将画笔定位封装成函数使用,就能有效去除重复代码
def setpen(x, y):t.penup()t.goto(x, y)t.pendown()t.setheading(0)def square(x, y, l):setpen(x, y)for i in range(4):t.forward(l)t.right(90)# square(100, 150, 100)# 画一排正方形,共五个,间隔 10
# 蠢方法
# square(100, 150, 30)
# square(140, 150, 30)
# square(180, 150, 30)
# square(220, 150, 30)
# square(260, 150, 30)# 使用 for 循环、函数def square_line(x, y, l, n, dis):for i in range(n):inner_x = x + (l + dis) * isquare(inner_x, y, l)# square_line(100, 150, 30, 6, 10)# 画一个正方形方阵
def square_matrix(x, y, l, n, dis, m):for i in range(m):inner_y = y - (l + dis) * isquare_line(x, inner_y, l, n, dis)# square_matrix(100, 150, 30, 5, 10, 6)# 填充颜色,给图形上色
def five_star(l):t.fillcolor('yello')t.begin_fill()for i in range(5):t.forward(l)t.right(144)t.end_fill()# five_star(100)# 字典的简单用法# 抽象画
# for i in range(500):
#     t.forward(i)
#     t.left(90)# for i in range(500):
#     t.forward(i)
#     t.left(91)colors = ['red', 'yellow', 'blue', 'green']# for i in range(500):
#     t.pencolor(colors[i % 4])
#     t.circle(i)
#     t.left(91)# sides = 5
# colors = ['red', 'yellow', 'blue', 'orange', 'green', 'purple']
# for i in range(360):
#     t.pencolor(colors[i % sides])
#     t.forward(i * 3 / sides + i)
#     t.left(360 / sides + 1)
#     t.width(i * sides / 200)# 美队盾牌
def circle(x, y, r, color):n = 36angle = 360 / npi = 3.1415926c = 2 * pi * rl = c / nstart_x = x - l / 2start_y = y + rsetpen(start_x, start_y)t.pencolor(color)t.fillcolor(color)t.begin_fill()for i in range(n):t.forward(l)t.right(angle)t.end_fill()def five_star(l):setpen(0, 0)t.setheading(162)t.forward(150)t.setheading(0)t.fillcolor('WhiteSmoke')t.begin_fill()t.hideturtle()t.penup()for i in range(5):t.forward(l)t.right(144)t.end_fill()def sheild():circle(0, 0, 300, 'red')circle(0, 0, 250, 'white')circle(0, 0, 200, 'red')circle(0, 0, 150, 'blue')five_star(284)sheild()# 结尾这一行必须有,照着用就行了
turtle.done()效果图:

转载于:https://my.oschina.net/u/3912520/blog/1858135

Python有趣的小案例-美国队长盾牌相关推荐

  1. 美国队长的工资 python代码-Python有趣的小案例-美国队长盾牌

    # 导入 turtle 模块 # 模块是 python 自带的工具箱,这里将工具箱导入就能使用了 # turtle 模块是 python 用来画图的工具箱 import turtle # 将 turt ...

  2. python好玩的案例-Python有趣的小案例-美国队长盾牌

    # 导入 turtle 模块 # 模块是 python 自带的工具箱,这里将工具箱导入就能使用了 # turtle 模块是 python 用来画图的工具箱 import turtle # 将 turt ...

  3. 有趣的python代码实例_Python之路:200个Python有趣的小例子一网打尽

    概述 博主最近在学习python,看完了一整套学习视频,然后呃呃呃,还是用不太流畅.碰巧在全球最大的 同性交友论坛GayHub(呸!是开源代码托管平台Github)上面发现了一个项目,该项目列举了20 ...

  4. python实战编程小案例-----更新中

    入门小案例 数字的阶乘 圆的面积 打出区间里面的素数 求前N个数字的平方和 计算列表数字的和 列表去重 简单对列表排列:sort,sorted: 怎样实现学生成绩的排序 拉姆达 lambda 读取文件 ...

  5. Python:通过一个小案例深入理解IO多路复用

    通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...

  6. python有趣的案例_Python有趣的小案例

    # 所需依赖:python3 pycharm # print 打印 print('hello world!') # 注释符号 # 井号后面灰色的内容是注释,相当于笔记,会被机器忽略 # 变量和值 # ...

  7. python有趣的小项目-10 个最值得 Python 新人练手的有趣项目

    原标题:10 个最值得 Python 新人练手的有趣项目 作者 | Claire D. Costa 编译 | Wendy 有很多 Python 新手留言问:"Python 入门很久了,但项目 ...

  8. python有趣的小项目-这10个Python项目超有趣!

    前言: Python可谓是现在很多人正在学或者想学的一个脚本语言了,提到学习自然就少不了拿项目练手,可是一般的项目根本提不起兴趣嘛,这10个项目可是非常有趣的,不信你看看. 用 50 行 Python ...

  9. python有趣的小项目-有趣的十个Python实战项目,让你瞬间爱上Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

最新文章

  1. 为NLP从业者/研究生/研究员专门定制的全网唯一高端NLP训练营
  2. c 连接mysql错误信息_使用C语言访问MySQL数据 —— 连接和错误处理
  3. mac 下 ssh被拒绝
  4. Oracle 中伪数列ROWID
  5. 基于python sklearn的 RandomForest随机森林 类实现
  6. Android 定位地理坐标体系
  7. Microsoft Visual C++ 修复工具
  8. 【NLP】电影评论情感分析(基础篇)
  9. iDB-数据库自动化运维平台
  10. (6)JsonResponse, Cookie, Session
  11. windows10下VM安装安卓虚拟机PhoenixOS
  12. 《算法笔记》学习日记——5.2 最大公约数与最小公倍数5.3 分数的四则运算5.4 素数
  13. 是否可以同时学习两门编程语言?——我的语言学习经验告诉我不行
  14. 教你用Python写界面
  15. 基于Twitter数据的情感预测与案例分析
  16. Cordova开机画面
  17. 圣斗士全球招生考试(中国考区)试卷
  18. 哈希表 -leetcode-2006. 差的绝对值为 K 的数对数目
  19. Nutch-2.2.1学习之九Nutch过滤URL实践
  20. Postgre SQL 中的时间格式

热门文章

  1. 转载 : 10大H5前端框架
  2. 云和恩墨mysql_云和恩墨携手华为云鲲鹏云服务探索政企数据库升级的“新引擎”...
  3. NFT市场如何拆分Opensea?
  4. 520催泪感人表白心动文案怎么用免费的记笔记软件记录?
  5. 计算机先驱诞生日;万维网面世 30 周年|历史上的今天
  6. 《奋斗》中徐志森的财商课
  7. 【力扣17】电话号码的字母组合
  8. 关于 Java 的简介(评论抽奖送书)
  9. c语言时间函数怎么用,C语言时间函数应用
  10. split,splice,slice 三者的用法