循环结构:for循环 + while循环+break、else、continue区别和用法

注:这是自己跟着慕课嵩天老师的课程写的笔记。笔记若有错误,希望大家批评指正。

循环结构: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.')
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值