简单来说:第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
7-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