所有分类
  • 所有分类
  • 乐高

Python入门第三课:奇妙的圆

第一步:找到海龟
第二步:拿到画笔
第三步:用神奇画笔在屏幕上绘制一个 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

资源下载
下载价格1.9 积木
原文链接:https://www.legocode.cn/610.html,转载请注明出处~~~
11
广告位招租

评论0

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录