《Think Python》练习 4-3:用函数画雨伞
第4章 案例研究:接口设计
练习 4-3 用函数画雨伞
写一组合适的通用函数,用来画出下图所示的图形(最终代码执行效果图):
【求解】
不得不说,练习 4-3 比 练习 4-2 简单多了!!!
Step.1 确认组件
由 nnn 个等腰三角形组成“雨伞”
Step.2 抽象问题
已知:雨伞边数 nnn、雨伞边长 lll
求:等腰三角形顶角、底角
Step.3 问题求解
nnn 个顶角平分 360°360°360°:2πn=360n\frac{2π}{n}=\frac{360}{n}n2π=n360
已知等腰三角形顶角 360n\frac{360}{n}n360,求底角:180−360n2\frac{180-\frac{360}{n}}{2}2180−n360
已知等腰三角形底边 lll,求腰长:r=l2sinπnr=\frac{l}{2sin\frac{π}{n}}r=2sinnπl
Step.4 完成代码
"""
《Think Python》练习 4-3:通用函数画雨伞n:雨伞的边数
l:雨伞的边长
"""#引入数学模块、乌龟模块
import math
import turtle#调用乌龟画图
bob = turtle.Turtle()#雨伞
def umbrella(n,l):#计算雨伞中每个等边三角形的顶角(angle_in)、底角(angle_out)、腰长(r)angle_in = 360 / nangle_out = (180 - angle_in) / 2r = l / 2 / math.sin(angle_in / 2 / 180 * math.pi)#重复画等腰三角形完成雨伞for i in range(n):bob.lt(angle_in/2)bob.fd(r)bob.lt(180 - angle_out)bob.fd(l)bob.lt(180 - angle_out)bob.fd(r)bob.lt(180 - angle_in/2)#左移240,画出5瓣雨伞
bob.pu()
bob.fd(-240)
bob.pd()
umbrella(5,115)#右移240,画出6瓣雨伞
bob.pu()
bob.fd(240)
bob.pd()
umbrella(6,98)#右移240,画出7瓣雨伞
bob.pu()
bob.fd(240)
bob.pd()
umbrella(7,85)#下移120,让turtle不遮挡雨伞
bob.pu()
bob.rt(90)
bob.fd(120)turtle.mainloop()
《Think Python》练习 4-3:用函数画雨伞相关推荐
- 在Python中用turtle函数画同心圆
用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...
- python用circle函数画兔子的方法
python用circle函数画兔子的方法 circle函数说明 1.在circle函数中,参数radius取像素值和extent取角度的整数值可以取正负值. circle()函数以画笔当前方向(y' ...
- 《Think Python》练习 4-2:用函数画花朵
第4章 案例研究:接口设计 练习 4-2 用函数画花朵 写一组合适的通用函数,用来画出下图所示的花朵图案(最终代码执行效果图): [求解] Step.1 确认组件 如果想通过本张介绍的多边线 poly ...
- 用python的turtle画同心圆_在Python中用turtle函数画同心圆
原博文 2019-12-24 09:01 − 用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在 ...
- python怎么用turtle画圆_在Python中用turtle函数画同心圆
用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...
- python怎么用turtle画同心圆_在Python中用turtle函数画同心圆
用turtle函数画空心圆 turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置. 画笔的坐标默认在0,0,就以它为圆心. 因为turtle画圆的 ...
- python中画圆的代码_Python编程12:Python画图之turtle库如何画圆
#少儿编程# 从上一篇开始,我将和小朋友们一起用Python语言来画图.turtle库是Python语言中一个很流行的绘制图像的库,上一篇我们已经知道如何使用turtle库,如何使用turtle库的函 ...
- python画圆简单代码-Python 用turtle实现用正方形画圆的例子
最近发现一个很有意思的画图的python库,叫做turtle,这里先说下用turtle这个库来实现用正方形画圆的思路. 每次都用乌龟(turtle) 来画出一个正方形,然后通过旋转3°后,继续画一样的 ...
- 用python的turtle画圆-(python海龟绘图怎么增加每次画圆的半径)
Python 如何调用graphics库画圆弧,半圆等 import turtle turtle.left(135) turtle.circle(120,90) turtle.done() pytho ...
最新文章
- PHP7.3中fileinfo怎么安装与开启
- Acwing1086. 恨7不成妻(未解决)
- Android(组件大全)
- UNION 和UNION ALL 的区别
- 【熊猫多模式站群开发日志】权限控制拦截器
- 使用嵌套循环,打印 5 行 5 列的直角三角形
- python词频统计西游记实验报告_Python文本统计功能之西游记用字统计操作示例
- mysql查询时间提前五天_mysql选择月份查询该月有付款的数据(间隔x月并提前5天付款)...
- linux常用命令速查手册
- android常用窗口动画,android 自定义dialog,窗口动画,
- MySQL设置字符编码
- 【语音隐写】基于matlab GUI LSB语音信号数字水印嵌入提取(带面板)【含Matlab源码 1676期】
- 数据结构与算法(java)
- openresty实现隧道代理
- 以连边为中心的功能连接用于个体识别
- Selenium滑块验证登录天猫淘宝网站
- 第十九节 串口通讯与终端设备
- vb.net 简单的方法模拟三体(有行星)
- javah 类com.xxxx.xxxx 找不到问题解决方法
- 一本修炼秘籍,带你打穿文件上传的21层妖塔(1)