第一中循环语句while:
while 判断条件:
执行语句
例题1:1+2+3+4.....+100=?
sum = 0
n = 1
while n <= 100:
sum = sum + n
n = n + 1
print(sum)
输出结果:
5050
注意执行语句必须之间必须对齐,例如:
L = ['Lee','Jack','Lynn','Ale']
p = 0
while p < 3:
print('Helio,%s!' % L[p])
p = p + 1
结果输出:
Hello,Bart!
Hello,Lisa!
Hello,Adam!
假如:
L = ['Lee','Jack','Lynn','Ale']
p = 0
while p < 3:
print('Helio,%s!' % L[p])
p = p + 1 # 没有与上一个执行语句对齐
此时结果会报错:
p = p + 1
IndentationError: unindent does not match any outer indentation level
while 两个重要的命令break和continue
break 是结束此循环;continue是跳过某个循环。
# continue 和 break 用法
i = 1
while i < 10:
i += 1
if i%2 > 0: # 非双数时跳过输出
continue
print i # 输出双数2、4、6、8、10
i = 1
while i < 10:
i += 1
if i%2 > 0: # 非双数时跳过输出
break # 注意此时break不可以与if对齐
print i # 结果输出2,因为经过一次循环后才结束
第二种for循环语句的使用: for ....in..
for循环格式为:
for name in 'names' :
print(name) #结果是纵向输出names
第二种:
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
结果:
Michael
Bob
Tracy
#依次输出另一种是for x in .. #循环就是把每个元素代入变量x,然后执行缩进块的语句。
例题:1+2.....+10=?
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum) # 结果是55
range()函数的使用: 例如range(100) 是从1到小于100的有序数列。
从1加到10:
sum = 0
for x in range(11):
sum = sum + x
print(sum) #结果是55
for ... else 在循环语句中的使用:
# 输出 2 到 100 简的质数
prime = []
for num in range(2,100): # 迭代 2 到 100 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
break # 跳出当前循环
else: # 循环的 else 部分
prime.append(num)
print prime