Python趣味入门6:能计数的循环语句for
上一篇讲了while语句,朋友们是否已经摸到循环的大门了,其实在实际当中for循环远比while循环更加常用。由于涉及集合类型,咱们先从数列开始。
1、range数列
在数学上数列表达是一组有顺序的数字,在Python里可以很容易使用range()函数(并不是函数其实是类)生成一组整数数列,用法如下:
1 | range (开始,结束,步长) |
说明:上述代码将会生成从“开始”(默认0)到“结束”(不包括)的整数数列,并且以“步长”(默认1)为间隔。注意range()返回的,其实是range类的实例,因此你直接print()显示的话,只能显示出range本身,结果是看不出来的,如下代码生成0,1数列。
1 2 | >>> range ( 2 ) range ( 0 , 2 ) |
上面在提示符后输入语句后,发现返回的结果还是range(0,2)本身,只是补齐了默认参数,并没有什么结果。
找开IDLE我们做几个小实验:
在>>>提示符下输入range(10),生成0-9数列:
1 2 3 | >>> list ( range ( 10 )) [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] >>> |
说明:代码中我们使用了list()函数,此函数用来把range()数列转换成"列表" 这个类型,否则看不到数列的结果。
2、for 循环
for循环也被称为枚举循环,语法如下:
for 变量 in 集合:
子语句块
主语句
在这里需要对上述的“变量”进行说明,for 后跟的变量由程序员自由命名,在循环体内使用的时候,变量由for语句在每次循环时自动赋值为集合中的单个元素。下面程序可以计算1-100的累加:
1 2 3 4 | result = 0 #结果变量:保存每一步的计算结果 for n in range ( 1 , 101 ): result + = n #把计算结果累加进结果变量 print (result) |
3、小任务
传说靖安司查出了狼卫的秘密基地在一个10层金字塔里,为完成消灭恐怖分子的任务要求画出十层金字塔的样子。
分析过程
上述金字塔可以分成两个部分,左半边(不包括中间列)为N部分。 重点分析N部分每行星号个数的变化,第0行为 0 个,行号对应从上到下为 0~9 的顺序数列,如果设 N部分星号的数量为变量n ,可以得出金字塔每一行星号的总数量公式:2*n +1。
再次分析N部分的空格变化,第n行星号前空格的个数变化规律如下,第 0 行有 9 个空格,得出自上而下空格数量依次是 9,8,7,...,0,得出空格数量公式为9-n 。
此外,字符串的乘法运算可以进行重复,'0' * 8 就表示 '00000000'
根据上面的分析你可以写出程序了么,如下?
1 2 | for n in range ( 10 ): print ( ' ' * ( 9 - n) + '*' * ( 2 * n + 1 )) |
紧跟小牛叔,动图教程更清晰。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2007-09-13 白领小秘Vivien的一个上午 - office SharePoint 协同作业- 之图示例1