Python的循环

简介

while

在给定的判断条件为 true 时执行循环体,否则退出循环体。

语法

while 判断条件(condition):
    执行语句(statements)……

实例

# 实例1
a,b = 0,1 while a<10: print(a,end=',') a,b = b,a+b # 解析 ''' 第一次循环: a=0,a<10,print(0) a=b,b=a+b 所以a=1,b=1 第二次循环: a=1,a<10,print(1) a=b,b=a+b 所以a=1,b=2 第三次循环: a=1,a<10,print(1) a=b,b=a+b 所以a=2,b=3 第四次循环: a=2,a<10,print(2) a=b,b=a+b 所以a=3,b=5 第五次循环: a=3,a<10,print(3) a=b,b=a+b 所以a=5,b=8 第六次循环: a=5,a<10,print(5) a=b,b=a+b 所以a=8,b=13 第七次循环: a=8,a<10,print(8) a=b,b=a+b 所以a=13,b=21 第八次循环: a=13,a>10,不执行下方语句,结束循环 '''
# >>> 0,1,1,2,3,5,8,
# 实例2
numbers = [12,37,5,42,8,3] even = [] # 空列表 odd = [] # 空列表 while len(numbers) > 0:# 判断numbers中的长度是否大于0 num = numbers.pop()# 将numbers中的值随机删除一个,并将这个删除的值赋值给num if(num % 2 == 0):#如果被删除的这个值取余2等于0 even.append(num)#说明这个值是偶数,将其写到列表even中 print('even:%s' %(even))#输出even列表 else: odd.append(num)#如果被删除的这个值取余2不等于0,说明这个值是偶数,将其写到列表odd中 print('odd:%s' %(odd))##输出even列表

for

语法

Python 的 for 语句与 C 或 java 中的不同。Python 的 for 语句不迭代算术递增数值(如 java),或是给予用户定义迭代步骤和暂停条件的能力(如 C),而是迭代列表或字符串等任意序列,元素的迭代顺序与在序列中出现的顺序一致

for iterating_var in sequence:#可以直接指定一个循环数值,或者一个列表等
   statements(s)

实例

range()内置函数

print(range(10)) # 单独打印range的值,会展示这个的循环区间,输出结果:range(0, 10)
print(sum(range(10))) #输出相加的值0+1+2+3+4+5+6+7+8+9
print(list(range(10))) # range生成列表
 
for i in range(5,10):# 输出5-10的值(前包后不包)
    print(i)

for i in range(1,10,3):# 输出1-10的值(前包后不包),步长为3.结果:1,4,7
    print(i)

for i in range(-10,-200,-30):# 输出-10~-200的值,步长为-30。结果:-10,-40,-70,-100,-130,-160,-190,
    print(i,end=',')

range() 和 len() 组合在一起,可以按索引迭代序列:

#实例1
words = ['cat', 'window', 'defenestrate']
for w in words:# words中有几个数值,就循环几次
    print(w, len(w))# 输出每次循环取到的值,和每个值的长度

#实例2
for w in['cat', 'window', 'defenestrate']:# 还可以写成这种写法
    print(w, len(w))

#实例3
for w in range(len(words)):# 或者写成这种方式
   print(w, words[w])

三元表达式

语法

实例

result = [str(i).zfill(2) for i in range(1,20) if i<8]
print(result)result = [str(i).zfill(2) for i in range(1,20) if i<8]
print(result)

# 等同于
result2 = []
for i in range(1,20):
    if i < 8:
        j = str(i).zfill(2)
        result2.append(j)
print(result2)

嵌套循环

语法

实例

循环控制语句

break

在语句块执行过程中终止循环,并且跳出整个循环。

for letter in 'Python':  # 第一个实例
    if letter == 'h':
        break
    print('当前字母 :', letter)


var = 10  # 第二个实例
while var > 0:
    print('当前变量值 :', var)
    var = var - 1
    if var == 5:  # 当变量 var 等于 5 时退出循环
        break

n = 1 # 第三个实例
while 1:  # 循环条件为1必定成立
    print('n:%s'%(n)) # 输出1~10
    n += 1
    if n > 10:  # 当i大于10时跳出循环
        break # 输出1,2,4,5,6,7,8,9,10

continue

跳过当前循环的剩余语句,然后继续进行下一轮循环。

i = 1
while i < 10:
    i += 1# 意思是i=i+1
    if i % 2 > 0:
        continue # 符合上边的条件时,跳出本次循环,否则执行print
    print('i:%s'%(i))  # 输出双数2、4、6、8、10

pass

pass是空语句,是为了保持程序结构的完整性。

pass不做任何事情,一般用做占位语句。

pass语句不执行任何操作。语法上需要一个语句,但程序不实际执行任何动作时,可以使用该语句。

while True:# 让程序一直执行
   pass 
学而时习之不亦说乎!
原文地址:https://www.cnblogs.com/wxinyu/p/14752638.html