python
中常见的循环语句while
、for
、range()
。
1.while语句
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
#while
while 条件:
pass
#while else语句
while 条件:
pass
else:
print("结束")
注意:如果条件判断语句永远为 true,循环将会无限的执行下去
示例
counter = 1
while counter < 10
counter += 1
print(counter,end="|")
#输出
2|3|4|5|6|7|8|9|10|
counter = 1
while counter < 10
counter += 1
print(counter,end="|")
else:
print("EOF")
#输出
2|3|4|5|6|7|8|9|10|EOF
根据上面的示例可以得到while else
语句中 如果while
中的条件为False
将终止循环,并执行else
语句。
2.for语句
python中 for
循环可以遍历任何序列,一般用来迭代列表
、字符串
、元组
、集合
、字典
。
在for
循环语句中想要跳出循环,需要使用break
、continue
,break
是结束当前的for
语句,continue
是跳过这一轮循环
#for语句
for v in 序列:
pass
#for else语句
for v in 序列:
pass
else:
print("EOF")
for else
语句中,当所有序列遍历完成后会执行else
语句,如果在迭代的过程中break
语句跳出,则不执行else
语句
示例1
arr = [1,2,3,4,5,6]
for v in arr:
print(v,end="|")
#输出
1|2|3|4|5|6|
示例2
arr = [1,2,3,4,5,6]
for v in arr:
if(v > 3): break
print(v,end="|")
else:
print("EOF")
#输出
1|2|3|
3.range函数
python中for
语句用来变量序列,当我们需要遍历一个数字序列,在python中就可以用range()函数
,它生成算术级数:
for v in range(10):
print(v,end="|")
# 输出
0|1|2|3|4|5|6|7|8|9|
求100以内的和
sum = 0
for v in range(101):
sum += v
print("0-100之间的和:",sum)
# 输出
0-100之间的和:5050
ange也可以以另一个数字开头,或者以指定的幅度增加(甚至是负数;有时这也被叫做 ‘步进’)
for v in range(5,10)
print(v)
# 输出
5,6,7,8,9
for v in range(0,10,3)
print(v)
# 输出
0,3,6,9
要以序列的索引来迭代,您可以将 range() 和 len() 组合如下:
a = ['Mary', 'had', 'a', 'little', 'lamb']
for i in range(len(a)):
print(i, a[i])
#输出
0 Mary
1 had
2 a
3 little
4 lamb
如果你只打印 range,会出现奇怪的结果:
>>> print(range(10))
range(0,10)
range() 所返回的对象在许多方面表现得像一个列表,但实际上却并不是。此对象会在你迭代它时基于所希望的序列返回连续的项,但它没有真正生成列表,这样就能节省空间。
我们说这样的对象是 可迭代的 ,也就是说,适合作为函数和结构体的参数,这些函数和结构体期望在迭代结束之前可以从中获取连续的元素。我们已经看到 for 语句就是这样一个迭代器。函数 list() 是另外一个;它从可迭代对象中创建列表。
>>> list(range(5))
[0, 1, 2, 3, 4]