循环语句

循环语句能够非常方便的处理计算机的重复运算.
本篇文章的主要内容的思维导图如下:



python dataset循环读出所有照片 python用for循环读取图片_深度学习

06_1.jpg

<

如果需要详细的思维导入内容,请回复 py01 即可获得>


for 循环

在python for循环语句主要用来对列表等序列进行迭代,其中迭代的顺序与序列中的出现的顺序是一致的.说人话就是用for循环可以遍历列表等序列.

其语法为:  
for 单个元素 in 序列:
   xxxx

对比C等语言:对i值递增/递减的数值进行遍历,给予用户定义迭代步骤和暂停条件    
for(int i = 0;i++;i{  
   xxxx
}

waliAIs = ['python基础','python进阶','机器学习','深度学习']

for wali in waliAIs:
    print(wali)

python基础
python进阶
机器学习
深度学习

这里需要注意的地方在循环过程尽可能不要改变序列数组的元素.这里修改意思包括:修改,删除,增加等操作.如果确实需要修改,这里的建议是:

  • 对数组副本进行修改
  • 直接创建一个新的数组
waliAIs = ['python基础','python进阶','机器学习','深度学习']

# 创建副本
waliAIs_copy = waliAIs[:]
print(waliAIs_copy)

for i,wali in enumerate(waliAIs):
    if wali == 'python进阶':
        waliAIs_copy[i] = '算法笔记'

print(waliAIs)
print("********修改后********")
print(waliAIs_copy)

['python基础', 'python进阶', '机器学习', '深度学习']
['python基础', 'python进阶', '机器学习', '深度学习']
********修改后********
['python基础', '算法笔记', '机器学习', '深度学习']

waliAIs = ['python基础','python进阶','机器学习','深度学习']

# 创建新的数组
waliAIs_new = []
print(waliAIs_copy)

for wali in waliAIs:
    if wali == 'python进阶':
        waliAIs_new.append('算法笔记')
    else:
        waliAIs_new.append(wali)


print(waliAIs)
print("********修改后********")
print(waliAIs_copy)

['python基础', '算法笔记', '机器学习', '深度学习']
['python基础', 'python进阶', '机器学习', '深度学习']
********修改后********
['python基础', '算法笔记', '机器学习', '深度学习']

while 循环

只要条件满足,就不断循环,条件不满足时退出循环。 
语法:
while 条件判断:
   条件里面用来判断该循环是否结束

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

2500

break与continue语句

注意点:谨慎使用这两个语句,有可能造成逻辑混乱

break

用来调出最近的for或者while循环,break语句可以提前退出循环

n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')

1
2
3
4
5
6
7
8
9
10
END
continue 语句

跳过当前的这次循环,直接开始下一次循环。

n = 0
while n 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)

1
3
5
7
9

for…else 语句

它会在循环耗尽了可迭代对象 (使用 for) 或循环条件变为假值 (使用 while) 时被执行
else 子句属于 for 循环.

for x in range(2, n):
    if n % x == 0:
        print(n, 'equals', x, '*', n//x)
        break
    else:
     # loop fell through without finding a factor
     print(n, 'is a prime number')

10 equals 2 * 5