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


风晓
风晓 2023-12-30 10:41:32 52985 赞同 0 反对 0
分类: 资源
上一篇讲了while语句,朋友们是否已经摸到循环的大门了,其实在实际当中for循环远比while循环更加常用。由于涉及集合类型,咱们先从数列开始。

1、range数列

 

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

1
range(开始,结束,步长)

  

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

1
2
>>> range(2)
range(02)

 

上面在提示符后输入语句后,发现返回的结果还是range(0,2)本身,只是补齐了默认参数,并没有什么结果。

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

 

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

1
2
3
>>> list(range(10))
[0123456789]
>>>

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

 

2、for 循环

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

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

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

 

 
1
2
3
4
result = 0 #结果变量:保存每一步的计算结果
for in range(1,101):     
    result += #把计算结果累加进结果变量
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 in range(10):
    print(' ' * (9-n) + '*' * (2*n+1))

 

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  127
统信桌面专业版【全盘安装UOS系统】介绍  122
银河麒麟桌面操作系统安装佳能打印机驱动方法  114
银河麒麟桌面操作系统 V10-SP1用户密码修改  105
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!