while 循环

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

Pyhton for 家毅:Loop - 图1Pyhton for 家毅:Loop - 图2

  1. #!/usr/bin/env python3
  2. n = 100
  3. sum = 0
  4. counter = 1
  5. while counter <= n:
  6. sum = sum + counter
  7. counter += 1
  8. print("1 到 %d 之和为: %d" % (n,sum))

输出如下:

  1. 1 100 之和为: 5050

for 循环(可用于遍历一个序列)

  1. for <variable> in <sequence>:
  2. <statements>
  3. else:
  4. <statements>

Pyhton for 家毅:Loop - 图3
使用range()函数进行遍历循环

  1. for i in range(5):
  2. print(i)

输出如下:

  1. 0
  2. 1
  3. 2
  4. 3
  5. 4

遍历序列

  1. languages = ["C", "C++", "Perl", "Python"]
  2. for x in languages:
  3. print(x)

输出如下:

  1. C
  2. C++
  3. Perl
  4. Python

练习题

练习一

如下,有一个由多个整数子列表构成的母列表,使用循环的方式,计算其中所有数字的和。

  1. t = [[1,2,3], [3,4,5], [7,9,8], [3,4,7,8,9,10,12,13], [1,2], [3], [2,6,8,9], [11,22,4,6,9,11]]

练习二

如下,有一个列表t1,你需要建立一个新列表t2,使得t2中的第i个元素是t1中前i+1个元素的和。

  1. t1 = [1,2,4,6,7,8,9,11,15,16,17,23]

练习三

有如下一个dict,输出所有value不为0的key和value

  1. province_data = {"zhejiang": 3, "jiangsu": 0, "anhui": 0, "jiangxi": 0, "shanghai": 0,"fujian": 0, "guangdong": 0,"guangxi":5, "hainan":0, "hunan":0, "hubei":0, "chongqing":0, "guizhou":0, "sichuan":0, "xizang":0, "qinghai":0, "xinjiang":0, "gansu":0, "ningxia":0, "shananxi":0, "neimenggu":0, "shanxi":0, "henan":0, "hebei":0, "shandong":11, "beijing":9, "tianjin":0, "liaoning":0, "jilin":0, "heilongjiang":0, "taiwan":0, "xianggang":0, "aomen":1,"yunnan":0}