#P0020. 斐波那契螺旋线(提交代码题)
斐波那契螺旋线(提交代码题)
1. 问题描述
斐波那契数列是指这样一个数列
1, 1, 2, 3, 5, 8, 13, 21 ...
这个数列从第 3 项开始 ,每一项都等于前两项之和
在这道题里,我们要用 Python 自带的 turtle library,把斐波那契数列画成曲线(斐波那契螺旋线),在大自然中,很多形状都是这个样子

参考老师给出的这张动图例子

在图中,从小到大每个正方形边长、还有圆弧的半径,依次是斐波那契数列的项 1, 1, 2, 3, 5, 8, 13, 21 ...
老师为大家准备了这道题一部分基础的代码,同学们可以复制之后,在 TODO 后面完成你的代码
import turtle
# 可以用来整体调整线条的长度
LENGTH = 10
# 产生 Fibonacci 数列
def fibonacci(n):
x, y = 0, 1
for i in range(n):
if x > 0:
yield x
y, x = x, x + y
plt = turtle.Turtle()
plt.speed(50)
for i in fibonacci(10):
# TODO: complete your code here
# print(i)
2. 关于 Turtle
turtle 是一个控制画笔,按照我们的要求画线的库,作业中可能用到以下功能
plt.pencolor(color),color是画笔的颜色,例如"blue","red","yellow"plt.forward(x)向前画线 /plt.backward(x)向后画线,其中x是线段的长度plt.left(angle)左转 /plt.right(angle)右转,其中angle是旋转角度plt.circle(radius, angle)画圆弧,其中radius是半径,angle是角度,有以下几种90是四分之一圆180是半圆360是完整的圆
3. 作业提交
- 在你的课件中完成代码
- 点击页面右边的 "递交 / Submit" 按钮,粘贴代码后提交
- 上传之后会提示错误,是因为老师没有设置自动打分,小朋友可以忽略