一、渐变同心圆

利用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的阶乘相关推荐

  1. 「Python海龟画图」利用海龟画笔绘制六芒星阵

    利用海龟笔绘制1/3圆弧 功能要求 利用海龟笔绘制一个半径为100的,1/3圆弧,并隐藏海龟画笔,设置画笔颜色,设置海龟笔的宽度和海龟笔的颜色. 实例代码 import turtle'''设置画笔和画 ...

  2. python编程输入标准-Python练习题,,T1.编写程序,输入

    Python练习题,,T1.编写程序,输入 T1.编写程序,输入一个自然数字符串,然后输出各位数字之和. a=input("输入一串数字:") b=0 for i in a: b= ...

  3. Python练习题 001:4个数字求不重复的3位数

    听说做练习是掌握一门编程语言的最佳途径,那就争取先做满100道题吧. ----------------------------------------------------------------- ...

  4. 数组元素前移后移 RUNOOB python练习题 68

    用来练手的python练习题,原题链接: python练习实例68 题干: 有 n 个整数,使其前面各数顺序向后移 m 个位置,最后 m 个数变成最前面的 m 个数 代码如下: import nump ...

  5. 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 ...

  6. 符号 RUNOOB python练习题 51

    用来练手的python练习题,原题链接: python练习实例51 python中的 & 和 | 使用过程中,变量类型不同,这两个符号的作用也不同. 1. 对于数字变量,&\& ...

  7. python random随机数 RUNOOB python练习题50

    用来练手的python练习题,原题链接: python练习实例50. 该练习题主要包含了random模块随机数的应用,下面给出几个常用的模块内函数. 1. 生成浮点型随机小数 最简单的,就是用rand ...

  8. lambda函数 RUNOOB python练习题49

    用来练手的python练习题,原题链接python练习实例49 该练习题主要是关于lambda函数的使用方法,本文就python中的lambda函数做出一点总结. 1. lambda函数的定义与调用 ...

  9. RUNOOB python练习题47 交换两个变量值

    用来练手的python练习题,原题链接: python练习实例47 题干: 两个变量值互换 在C语言C++中我们要构造一个能交换两个变量值的函数很方便,我们可以使用指针,或者C++中的引用.那么在没有 ...

最新文章

  1. 35岁危机可能是真的!调查显示在领英上年龄越大越难找工作,得贴年轻头像才行...
  2. PostgreSQL windows下安装出现问题的解决办法
  3. springboot 接口404_资深架构带你学习Springboot集成普罗米修斯
  4. eclipse导出war包放入服务器中
  5. sqlmap tamper mysql_Sqlmap过waf命令tamper各脚本的适用环境
  6. SQL递归查询(with cte as)
  7. MySQL春节收支表怎么建立_怎样才能建一个收支表格?
  8. HMC5883L 电子指南针用树莓派进行磁场干扰过滤 校准
  9. 计算机配置图解,电脑硬件详细图解
  10. C# Halcon 图像放大缩小代码
  11. plc的毕业设计冷门题目_PLC毕业设计----PLC毕业设计题目汇总
  12. 群体优化算法工具箱分享(GA、PSO、CS、GWO、WOA、HHO)
  13. Attention中的Q、K、V
  14. uboot环境变量setenv学习
  15. 【Pytorch】torch.bmm()方法使用
  16. Microsoft Word 设置底纹
  17. 处理器cpu测试工具
  18. 可视化模块(三): wandb
  19. Tobii眼动仪系列软件安装与使用
  20. 《解忧杂货店》读后感

热门文章

  1. 企业应该把内部理顺后再考虑上ERP系统
  2. gateWay报错:Exceeded limit on max bytes to buffer : 262144
  3. 网络嗅探软件全接触(2)
  4. JS常用的数组方法和循环
  5. mTD-SCDMA与TD-LTE双网络垂直切换matlab仿真
  6. MATLAB高斯-勒让德积分求解
  7. 综合布线系统需求分析
  8. 损失函数的总结与推导
  9. 抽象类,模版模式和接口
  10. 名称:四角号码查询器 第4版本 发布