注:这是自己跟着慕课嵩天老师的课程写的笔记。笔记若有错误,希望大家批评指正。
循环结构:for循环 + while循环+break、else、continue区别和用法
一、for循环
1.用途
可以遍历列表、字符串、数值
2.结构
''’
for <var> in <sequence>:
<body>
'''
3.使用实例
print("\n----遍历列表----")
words = ['cat','window','defensestrate']
for w in words:
print(w,len(w))
i = -1
print("----遍历字符串----")
for n in "My name is bimgbimg.":
i = i + 1
if n == "m":
print(i)
print("----遍历数值----")
for i in range(2,10):
if i%2 == 0:
print(i)
4.非拷贝式遍历
for循环直接在列表中进行遍历,而不是在执行该语句时,另外开辟一个空间拷贝后对拷贝列表遍历
print("----非拷贝式遍历----")
words = ['cat','window','defensestrate']
i = 0
print(words[:])
for w in words[:]:
#这里如果用words会进入死循环,必须用words[:]才能不进入死循环,为什么?没解决
i = i + 1
print(i)
if len(w) > 6:
words.insert(0,w)
print(words)
5.for循环缺点
它是需要提供固定循环次数的循环方式,大规模数字求平均值就需要,用户要先数清楚数字总个数,程序开始时必须提供输入数字总数。
print("----for循环缺点:求平均值----")
n = eval(input("How many numbers?"))
sum = 0.0
for i in range(n):
x = eval(input("Enter a number >>"))
sum = sum + x
print("The average is ",sum/n)
二、while循环
1.用途
这是另一种无限循环模式,不需要提前知道循环次数,即当型循环也叫条件循环
2.结构
'''
while <condition>:
<body>
'''
3.特点
必须要手动添加条件,for循环不用手动,如果忘记则进入死循环,用ctrl+c强制停止
i = 0
while i <= 10:
print(i)
i = i + 1
三、 break、else、continue区别和用法
1.break用法
用于跳出最内层的for/while循环,直接全部结束,不再进行后面所有循环
应用实例
print("----测试break----")
sum = 0
number = 0
while number < 20:
number += 1
sum += number
if sum > 100:
break
print("The number is ",number)
print("The sum is ",sum)
2.continue用法
结束本次循环,跳出本次循环中后面的未执行语句,进行下一次循环
3.break、continue区别
二者区别在于:continue只结束本次循环,而不终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立
print("\n----测试continue----")
for num in range(2, 10):
if num % 2 == 0:
print("Found an even number", num)
continue
print("Found an odd number",num)
4.else用法:
类别try…except…else…finally…用法理解
<for…else…><while…else…>语句与循环搭配使用
else:后的表达式在for循环列表遍历完毕后或while条件语句不满足的情况下执行。
我的理解是只有for或者while没出任何差错,完完全全的完成自己的循环任务时,会执行else:的 body 内容
print("\n----测试else----")
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n,' = ',x,'*',n//x)
break
else:
print(n,' is a prime number.')