Python趣味入门6:能计数的循环语句for

小牛叔教你更简单的编程入门姿势

上一篇讲了while语句,朋友们是否已经摸到循环的大门了,其实在实际当中for循环远比while循环更加常用。由于涉及集合类型,咱们先从数列开始。

1、range数列

在数学上数列就表达一组有顺序的数字,在Python里可以很容易使用range()函数(并不是函数其实是类)生成一组整数数列,用法如下:

range(开始,结束,步长)

说明:上述代码将会生成从“开始”(默认0)到“结束”(不包括)的整数数列,并且以“步长”(默认1)为间隔。注意range()返回的,其实是range类的实例,因此你直接print()显示的话,只能显示出range本身,结果是看不出来的,如下代码生成0,1数列。

>>> range(2)
range(0, 2)

找开IDLE我们做几个小实验:

IDLE

在>>>提示符下输入range(10),生成0-9数列:

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 

说明:代码中我们使用了list()函数,此函数用来把range()数列转换成"列表" 这个类型,否则看不到数列的结果。

range数列.gif

2、for 循环

for循环也被称为枚举循环,语法如下:

for 变量 in 集合:
    子语句块
主语句

在这里需要对上述的“变量”进行说明,for 后跟的变量由程序员自由命名,在循环体内使用的时候,变量由for语句在每次循环时自动赋值为集合中的单个元素。下面程序可以计算1-100的累加:

result = 0 #结果变量:保存每一步的计算结果
for n in range(1,101): 
    result += n #把计算结果累加进结果变量
print(result)

3、小任务

传说靖安司的秘密基地在一个金字塔里,形状是这样滴,如何画出十层金字塔的样子?


十层的金字塔

如何打印金字塔呢,看如下的分析,我们看N这个部分。

分析过程

上述金字塔可以分成两个部分,左半边(不包括中间列)为N部分。 重点分析N部分每行星号个数的变化,第0行为 0 个,行号对应从上到下为 0~9 的顺序数列,如果设 N部分星号的数量为变量n ,可以得出金字塔每一行星号的总数量公式:2*n +1。
再次分析N部分的空格变化,第n行星号前空格的个数变化规律如下,第 0 行有 9 个空格,得出自上而下空格数量依次是 9,8,7,...,0,得出空格数量公式为9-n 。

此外字符串的乘法运算可以进行重复,'0' * 8 就表示 '00000000'
根据上面的分析你可以写出程序了么,如下?

for n in range(10):
    print(' ' * (9-n) + '*' * (2*n+1))
for循环(累加、金字塔).gif

紧跟小牛叔,动图教程更清晰

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 9,086评论 0 2
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,291评论 0 11
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 5,894评论 0 1
  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 5,969评论 0 3
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 10,018评论 0 5

友情链接更多精彩内容