第一步:找到海龟
第二步:拿到画笔
第三步:用神奇画笔在屏幕上绘制一个 50 大小的圆
mport turtle # 从海龟之家请出海龟先生
t = turtle.Turtle() # 向海龟先生借一只神奇画笔
t.circle(50) # 在屏幕上绘制一个 50 大小的圆
不同花瓣该如何设计?
for循环指令中x的变化规律
for x in range(20 ): t.circle(50) #循环中重复画圆的代码
其中X = 循环次数 - 1
贝壳该怎么实现呢?
for x in range(20 ): t.circle( ) #循环中重复画圆的代码
如果从大到小画该如何做呢?
for x in range(20): t.circle(x * 3) #循环中重复画圆的代码
旋转贝壳该如何做呢?
for x in range(20 ): t.circle(x*2) t.left(90) for x in range(20 ): t.circle(x*2) t.left(90) for x in range(20 ): t.circle(x*2) t.left(90) for x in range(20 ): t.circle(x*2) t.left(90)
双重循环
for x in range(20 ): t.circle(x*2) t.left(90) for y in range(4 ):
利用双重循环,我们还可以换一种方式来实现效果。
一次画四个圆,画二十次,由里到外逐渐增大。
利用双重循环,我们还可以换一种方式来实现效果。
一次画四个圆,画二十次,由里到外逐渐增大。
for x in range(20 ): for y in range(4 ): t.circle(x*2) t.left(90)
那如何单循环实现?
整数与小数
数字有小数和整数之分。
在计算机中,小数又可以成为浮点数(float)。
有时通过计算我得到了一个浮点数,但是我只需要小数中的整数部分。
例如:1.414 我只需要整数部分1
2.71828 我只需要整数部分2
3.1415926 我只需要整数部分3
如何取整
将浮点数转为整数:int( )
int(1.414)得到1
int(2.71828)得到2
int(3.1415926)得到3
如何单循环实现
int(0 / 4) = 0 int(1 / 4) = 0 int(2 / 4) = 0 int(3 / 4) = 0
int(4 / 4) = 1 int(5 / 4) = 1 int(6 / 4) = 1 int(7 / 4) = 1
int(40 / 4) = 10 int(41 / 4) = 10 int(42 / 4) = 10 int(43 / 4) = 10
int(96 / 4) = 24 int(97 / 4) = 24 int(98 / 4) = 24 int(99 / 4) = 24
如何单循环实现
from turtle import Turtle t = Turtle() t.speed(0) for x in range(100): t.circle( x*2 // 4) t.left(90)
t.speed(0) for x in range(100): t.circle( int(x / 4) * 2 ) t.left(90)
整除
在整数的除法中,只有能整除与不能整除两种情况。
有的时候,无论能否整除,我只想要商。
例如:10 ÷ 3 = 3…1 只需要3
7 ÷ 4 = 1…3 只需要1
如何整除?
整除算符://
使用整除运算符运算,只会得到商的部分:
0 // 6 = 0 10 // 3 = 3 12 // 5 = 2 13 // 2 = 6 14 // 3 = 4 51 // 36 = 1
如何单循环实现
0 // 4 = 0 1 // 4 = 0 2 // 4 = 0 3 // 4 = 0
4 // 4 = 1 5 // 4 = 1 6 // 4 = 1 7 // 4 = 1
40 // 4 = 10 41 // 4 = 10 42 // 4 = 10 43 // 4 = 10
96 // 4 = 24 97 // 4 = 24 98 // 4 = 24 99 // 4 = 24
如何单循环实现
from turtle import Turtle t = Turtle() t.speed(0) for x in range(100): t.circle( x*2 // 4) t.left(90)
for x in range(100): t.circle(x// 4 * 2) t.left(90)
所以用循环可以创造无限可能
接下来针对上面图,写出相应的代码
for x in range(50): t.circle(x) #画半径不断改变的圆 t.left(10) #换个角度试试?比如100度
for x in range(50 ): t.fd( x*2 ) #换长度不断改变的线 t.left(90) #换个角度试试?比如93度
for x in range(180): t.circle(50) t.left(2)
for x in range(50): t.circle(50) t.left(360/(x+1))
while循环指令
x = 0 while x < 50 : 注意: 不要忘记写冒号:它是循环指令的一部分
注意:循环中的代码需要缩进4个空格
t.fd( x*2 ) #循环中重复画线的代码 t.left(90) x += 1 #每画完一条线要让x增加1
注意:每绘制完一条线,要让x的值增加1
原文链接:https://www.legocode.cn/610.html,转载请注明出处~~~
评论0