python编写斐波那契数螺旋线+正方形(彩色)(讲解见分布代码)(适合学过编程6个月~1年11个月的人(中低级))

一.这是什么

简单来说:第1,2两项是1,从第3项开始,每一项都是前两项的和(前10项:1,1,2,3,5,8,13,21,34,55)

二.初始设置

from turtle import*#导入相关内容
from random import randint
speed(0)#设为最快
list=["2","3","4","5","6","7","8","9","10","11","12","13"]#设置允许数量
colormode(255)#RGB可从000~255之间设置

三.定义函数

​def cir(r):#画1/4圆
    fillcolor(((randint(0,255)),(randint(0,255)),(randint(0,255))))#上色
    begin_fill()
    circle(0-r,extent=90)#由于默认是逆时针的,所以要反过来
    for _ in range(2):#复位
        rt(90)
        fd(r)
    rt(90)
    end_fill()
def squ(d):#画方形
    fillcolor((randint(0,255),randint(0,255),randint(0,255)))#上色
    begin_fill()
    for __ in range(4):
        fd(d)
        rt(90)
    end_fill()
def draw(rd):#结合前两个函数
    squ(rd)#大的先
    cir(rd)
    circle(0-rd,extent=90)

四.用户设置

number=input("输入个数(02~13)")#设置数量

五.检测绘画

if number not in list:#检查是否在列表里
    print("输入错误")
else:
    number=int(number)#化成整数
    a=1
    draw(1)#调用函数
    print(1)#输出
    b=1#设置另一个数
    draw(1)
    print(1,end="\n")
    for step in range(number-2):#已经出现2个1,要扣掉
        c=a+b
        draw(c)
        print(a,"+",b,"=",c,sep="",end="\n")
        a=b
        b=c

六.完整代码

from turtle import*
from random import randint
speed(0)
list=["2","3","4","5","6","7","8","9","10","11","12","13"]
colormode(255)
def cir(r):
    fillcolor(((randint(0,255)),(randint(0,255)),(randint(0,255))))
    begin_fill()
    circle(0-r,extent=90)
    for _ in range(2):
        rt(90)
        fd(r)
    rt(90)
    end_fill()
def squ(d):
    fillcolor((randint(0,255),randint(0,255),randint(0,255)))
    begin_fill()
    for __ in range(4):
        fd(d)
        rt(90)
    end_fill()
def draw(rd):
    squ(rd)
    cir(rd)
    circle(0-rd,extent=90)
number=input("输入个数(02~13)")
if number not in list:
    print("输入错误")
else:
    number=int(number)
    a=1
    draw(1)
    print(1)
    b=1
    draw(1)
    print(1,end="\n")
    for step in range(number-2):
        c=a+b
        draw(c)
        print(a,"+",b,"=",c,sep="",end="\n")
        a=b
        b=c

七.运行结果(输入13)

7-1.图案结果

python编写斐波那契数螺旋线+正方形(彩色)(讲解见分布代码)(适合学过编程6个月~1年11个月的人(中低级))_第1张图片

7-2.数的结果

1

1

1+1=2

1+2=3

2+3=5

3+5=8

5+8=13

8+13=21

13+21=34

21+34=55

34+55=89

55+89=144

89+144=233

你可能感兴趣的:(python)