【python练习题5】六芒星阵+渐变同心圆+n的阶乘
一、渐变同心圆
利用turtl进行绘制如下图的同心标靶图,颜色有变比。 要求利用函数方式,自定定义一个函数mycircle(x,y,r,cr,cg,cb),其中x,y为绘制圆形的圆心,r为半径,cr,cg,cb为圆形填充的RGB颜色值(0-255),利用这个自定义函数绘制同心圆,如下图所示。
import turtle
def mycircle(x,y,r,cr,cg,cb):turtle.goto(x,y)for i in range(0, 9):turtle.fillcolor(cr-i*24,cg-i*20,cb+i*20)turtle.begin_fill()turtle.circle(r-(i*10))turtle.penup()turtle.left(90)turtle.fd(10)turtle.right(90)turtle.pendown()turtle.end_fill()
#color = list()
#color = ['pink','yellow','brown','orange','yellow','blue','red','purple','gold']
turtle.setup(600,600,200,200)
turtle.penup()
turtle.pendown()
turtle.pensize(1)
turtle.colormode(255)
turtle.pencolor(0,0,0)
mycircle(0,0,90,255,255,0)turtle.done()
注:
1、图一和图二是一个思路,但是颜色不同,想呈现第一个就建立一个列表然后里面添加一系列的颜色数据。
2、turtle库
需要说的是penup后一定要pendown才能forword或者后退
对区域进行颜色填充我们需要将turtle.fillcolor()写好,然后先写turtle.begin_fill(),接着是海龟轨迹,其次是turtle.end_fill(),然后完成颜色填充
二、六芒星阵
(1)由键盘输入等边三角形的边长值,根据边长值绘制六角星
(2)给六角星进行颜色填充
import turtle
def fun(n):turtle.setup(900,900,200,200)turtle.penup()turtle.goto(0,0)turtle.pendown()turtle.fillcolor("yellow")turtle.begin_fill()turtle.left(60)turtle.fd(n)turtle.left(120)turtle.fd(n)turtle.left(120)turtle.fd(n)turtle.end_fill()turtle.begin_fill()turtle.left(180)turtle.fd(2*n)turtle.left(120)turtle.fd(n)turtle.left(120)turtle.fd(n)turtle.end_fill()turtle.begin_fill()turtle.left(120)turtle.fd(2*n)turtle.right(120)turtle.fd(n)turtle.right(120)turtle.fd(n)turtle.end_fill()turtle.begin_fill()turtle.right(180)turtle.fd(2*n)turtle.right(120)turtle.fd(n)turtle.right(120)turtle.fd(n)turtle.end_fill()turtle.begin_fill()turtle.right(180)turtle.fd(2*n)turtle.right(120)turtle.fd(n)turtle.right(120)turtle.fd(n)turtle.end_fill()turtle.begin_fill()turtle.right(180)turtle.fd(2*n)turtle.right(120)turtle.fd(n)turtle.right(120)turtle.fd(n)turtle.end_fill()#m = int(input())
fun(100)
turtle.done()
想了很久如何使用循环去省略这么长的代码,最后小编还是妥协了,如果有哪位大佬由更好的办法,麻烦帮忙优化一下。
三、n的阶乘
编写函数fac(n),用递归法求出n的阶乘.在程序中使用此函数,将输入的整数n的阶乘求出并输出到控制台.控制台输入整数n,控制台输出n!
例子输入5反馈120,公式:5! = 120
def fac(n):if n <= 1:result = 1else:result = n * fac(n - 1)return resultm = int(input())
print(fac(m))
【python练习题5】六芒星阵+渐变同心圆+n的阶乘相关推荐
- 「Python海龟画图」利用海龟画笔绘制六芒星阵
利用海龟笔绘制1/3圆弧 功能要求 利用海龟笔绘制一个半径为100的,1/3圆弧,并隐藏海龟画笔,设置画笔颜色,设置海龟笔的宽度和海龟笔的颜色. 实例代码 import turtle'''设置画笔和画 ...
- python编程输入标准-Python练习题,,T1.编写程序,输入
Python练习题,,T1.编写程序,输入 T1.编写程序,输入一个自然数字符串,然后输出各位数字之和. a=input("输入一串数字:") b=0 for i in a: b= ...
- Python练习题 001:4个数字求不重复的3位数
听说做练习是掌握一门编程语言的最佳途径,那就争取先做满100道题吧. ----------------------------------------------------------------- ...
- 数组元素前移后移 RUNOOB python练习题 68
用来练手的python练习题,原题链接: python练习实例68 题干: 有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数 代码如下: import nump ...
- Python打印杨辉三角形 RUNOOB python练习题61
用来练手的python练习题,原题链接: python练习实例61 题干: 打印出杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 ...
- 符号 RUNOOB python练习题 51
用来练手的python练习题,原题链接: python练习实例51 python中的 & 和 | 使用过程中,变量类型不同,这两个符号的作用也不同. 1. 对于数字变量,&\& ...
- python random随机数 RUNOOB python练习题50
用来练手的python练习题,原题链接: python练习实例50. 该练习题主要包含了random模块随机数的应用,下面给出几个常用的模块内函数. 1. 生成浮点型随机小数 最简单的,就是用rand ...
- lambda函数 RUNOOB python练习题49
用来练手的python练习题,原题链接python练习实例49 该练习题主要是关于lambda函数的使用方法,本文就python中的lambda函数做出一点总结. 1. lambda函数的定义与调用 ...
- RUNOOB python练习题47 交换两个变量值
用来练手的python练习题,原题链接: python练习实例47 题干: 两个变量值互换 在C语言C++中我们要构造一个能交换两个变量值的函数很方便,我们可以使用指针,或者C++中的引用.那么在没有 ...
最新文章
- 35岁危机可能是真的!调查显示在领英上年龄越大越难找工作,得贴年轻头像才行...
- PostgreSQL windows下安装出现问题的解决办法
- springboot 接口404_资深架构带你学习Springboot集成普罗米修斯
- eclipse导出war包放入服务器中
- sqlmap tamper mysql_Sqlmap过waf命令tamper各脚本的适用环境
- SQL递归查询(with cte as)
- MySQL春节收支表怎么建立_怎样才能建一个收支表格?
- HMC5883L 电子指南针用树莓派进行磁场干扰过滤 校准
- 计算机配置图解,电脑硬件详细图解
- C# Halcon 图像放大缩小代码
- plc的毕业设计冷门题目_PLC毕业设计----PLC毕业设计题目汇总
- 群体优化算法工具箱分享(GA、PSO、CS、GWO、WOA、HHO)
- Attention中的Q、K、V
- uboot环境变量setenv学习
- 【Pytorch】torch.bmm()方法使用
- Microsoft Word 设置底纹
- 处理器cpu测试工具
- 可视化模块(三): wandb
- Tobii眼动仪系列软件安装与使用
- 《解忧杂货店》读后感