python之循环语句

泪湿孤枕 提交于 2019-12-01 02:37:32

(一)while循环

"i+=1"起到控制循环结束运行的作用,如果没有"i+=1"程序将会陷入死循环。

代码:

1     a_tuple = ('fkit', 'crazyit', 'Charli')
2     i = 0
3     # 只有i小于len(a_list),继续执行循环体
4     while i < len(a_tuple):
5         print(a_tuple[i]) # 根据i来访问元组的元素
6         i += 1

运行结果:

fkit crazyit Charli

 

(二)for循环

isinstance() 函数用于判断某个变量是否为指定类型的实例。

代码:

 1     src_list = [12, 45, 3.4, 13, 'a', 4, 56, 'crazyit', 109.5]
 2     my_sum = 0
 3     my_count = 0
 4     for ele in src_list:
 5         # 如果该元素是整数或浮点数
 6         if isinstance(ele, int) or isinstance(ele, float):
 7             print(ele)
 8             # 累加该元素
 9             my_sum += ele
10             # 数值元素的个数加1
11             my_count += 1
12     print('总和:', my_sum)
13     print('平均数:', my_sum / my_count)

运行结果:

12
45
3.4
13
4
56
109.5
总和: 242.9
平均数: 34.7

 

(三)循环中的else

代码:

1     a_list = [330, 1.4, 50, 'fkit', -3.5]
2     for ele in a_list:
3         print('元素: ', ele)
4     else:
5         # 访问循环计数器的值,依然等于最后一个元素的值
6         print('else块: ', ele)

运行结果:

元素:  330
元素:  1.4
元素:  50
元素:  fkit
元素:  -3.5
else块:  -3.5

 

  (四)循环嵌套

代码:

1     # 外层循环
2     for i in range(0, 5) :
3         j = 0
4         # 内层循环
5         while j < 3 :
6             print("i的值为: %d , j的值为: %d" % (i, j))
7             j += 1

运行结果:

i的值为: 0 , j的值为: 0
i的值为: 0 , j的值为: 1
i的值为: 0 , j的值为: 2
......

 

(五)跳出当前循环体

break 用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到 break,系统就将完全结束该循环,开始执行循环之后的代码。

代码:

1     # 一个简单的for循环
2     for i in range(0, 10) :
3         print("i的值是: ", i)
4         if i == 2 :
5             # 执行该语句时将结束循环
6             break

运行结果:

i的值是:  0
i的值是:  1
i的值是:  2

 

(六)直接执行下次循环

continue 语句的作用则没有break那么强大,它只能终止本次循环而继续执行下一次循环。

代码:

1     # 一个简单的for循环
2     for i in range(0, 3 ) :
3         print("i的值是: ", i)
4         if i == 1 :
5             # 忽略本次循环的剩下语句
6             continue
7         print("continue后的输出语句")

运行结果:

i的值是:  0
continue后的输出语句
i的值是:  1
i的值是:  2
continue后的输出语句

 

(七)循环搭配使用的函数

(1)zip函数

zip() 函数可以把两个列表“压缩”成一个 zip 对象(可迭代对象),这样就可以使用一个循环并行遍历两个列表。

代码:

1     books = ['疯狂Kotlin讲义', '疯狂Swift讲义', '疯狂Python讲义']
2     prices = [79, 69, 89]
3     # 使用zip()函数压缩两个列表,从而实现并行遍历
4     for book, price in zip(books, prices):
5         print("%s的价格是: %5.2f" % (book, price))

运行结果:

疯狂Kotlin讲义的价格是: 79.00
疯狂Swift讲义的价格是: 69.00
疯狂Python讲义的价格是: 89.00

 

(2)reversed函数

reversed()函数用于反向遍历。

代码:

1 b = ['a', 'fkit', 20, 3.4, 50]
2 for x in reversed(b):
3     print(x)

运行结果:

50
3.4
20
fkit
a

 

(3)sorted函数

sorted()函数用于从小到大排序。

代码:

1 my_list = ['fkit', 'crazyit', 'Charlie', 'fox', 'Emily']
2 #key=len按照字符串长度排序
3 for s in sorted(my_list, key=len): 
4     print(s)

运行结果:

fox
fkit
Emily
crazyit
Charlie

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!