前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >青少年编程:用Python探究数学(2)

青少年编程:用Python探究数学(2)

作者头像
老齐
发布2020-06-01 11:57:52
6430
发布2020-06-01 11:57:52
举报
文章被收录于专栏:老齐教室

作者:老齐

在上一篇中,绘制了一个正方形,但是,其中要不断重复某些语句。幸亏是正方形,如果是更多边的图形,重复就更多了。在Python语言中,为了让重复的事情做起来不那么烦人,就设计了一种名字为for循环的循环语句。注意,for循环,只是循环语句中的一种。

下面我们就来看看for循环如何实现。

还是要打开IDLE,新建文件,并命名为for_loop.py。然后输入下面的代码:

代码语言:javascript
复制
for i in range(2):
    print("hello")

这里使用了range()函数,它是一个内置函数,通过变量i可以依次得到这个函数执行之后返回对象中所包含的东西。那么,这个函数返回了什么呢?它的返回对象中包含了两个整数,0和1。也就是说range(2)中以2为参数,得到了0-2的整数,但是不包含2。如果是range(10),这个函数返回值中就包含了0-10但不包含10的整数,即:0、1、2、3、4、5、6、7、8、9。

在上面的代码中,就意味着变量i可以先等于0,然后等于1,也就是要执行2次。

第一行,用for开始的,就是for循环。注意观察,这句以冒号结束。

然后空四个空格,再写语句print('hello')。这个语句就是循环的内容。前面已经说了,i先是0,然后就执行print('hello');而后i又是1,再次执行这句。这就是所谓循环。

执行这个文件(注意:先保存,再按F5执行),会打印出下面的结果。

代码语言:javascript
复制
hello
hello

range(2)就重复了2次,你可以尝试其他数值,比如rang(10)是不是重复10次?自己试试。

i的值打印出来,看看是不是跟上面分析一样?把文件中的代码修改为:

代码语言:javascript
复制
for i in range(10):
    print(i)

输出结果是:

代码语言:javascript
复制
0
1
2
3
4
5
6
7
8
9

现在回到正方形的绘制,让我们来使用刚刚学会的循环语句实现。打开myturtle.py文件,输入一下代码:

代码语言:javascript
复制
from turtle import *

shape("turtle")
for i in range(4):
    forward(100)
    right(90)

正方形,一共4条边,重复4次,所以使用range(4)。每次循环,都执行向前走100个像素,这是画出了边的长度;然后right(90),即向右转90度,为下次绘制边长做好准备。

保存文件,然后执行,得到一个正方形。此处不显示结果了。

如果,要绘制正6边形,应该怎么写这个程序?

首先,正六变形一共有6条边,那么就是循环6次,即range(6)

然后分析一下,每条边画完之后,海龟应该转多少度?向什么方向转?

上面画了一个正六边形,假设现在海龟在D点了,如果要绘制DC这条边,就要向右转60°,也就是正多边形的外角度数。

理解了上面的道理,就可以修改myturtle.py文件,代码如下:

代码语言:javascript
复制
from turtle import *

shape("turtle")
for i in range(6):
    forward(100)
    right(60)

最后得到如下输出结果:

如果理解了上面的程序,再研究一下,正八边形怎么画?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老齐教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档