Python基础——循环

目录

while循环

for循环

range函数

循环中的关键字:break 和 continue

循环嵌套​​​​​​​​​​​​​​

while循环

        在程序开发中,一共有三种流程方式

                ① 顺序——从上向下,顺序执行代码;

                ② 分支——根据条件判断,决定执行代码的分支;

                ③ 循环——让特定代码重复执行

        while循环可以让指定的代码重复执行,应用场景:让执行的代码按照指定的次数重复执行。

1、基本语法

'''
while 条件:
    pass

如果条件成立,继续循环,如果条件不成立,循环结束
注意:while语句已记缩进部分是一个完整的代码块
'''

a = 0 #定义了一个变量,值为0
while a < 3:#条件成立,while即可重复执行
    print("Xiao Zhan")
    a += 1
#第1次循环结束a = 1,继续循环;
#第2次循环结束a = 2,继续循环;
#第3次循环结束a = 3,不满足条件,循环结束
#共输出3次“Xiao Zhan”

2、死循环。循环内部没有修改循环的判断条件,导致循环持续执行。程序中一定要避免死循环的出现。

a = 0
while a < 3:
    print("战")
    # 没有修改a的值,a永远是0,条件永远成立,永远循环

 3、计数方法。常见的计数方法有两种:

  • 自然计数法(从1开始)——符合人类习惯
  • 程序计数法(从0开始)——几乎所有的程序语言都选择从0开始计数(特殊要求除外)

例1:输出从0开始的6个数字

a = 0
while a < 6:
    print(a)
    a += 1

例2:从5开始,输出截止到0的6个数字 

a = 5
while a >= 0:
    print(a)
    a -= 1

4、循环计算 :在程序开发中,通常会用到循环完成重复计算的需求。使用步骤:

   (1)在while循环开始前定义一个变量,存放最终计算结果

   (2)在循环体内部,对变量进行计算

   (3)循环完成后,输出变量值

例1:计算0~100之间所有数字累计求和的结果

sum = 0 #定义变量存放累加结果
a = 0 #定义变量决定while循环的次数
while a <= 100: #只要a<=100,循环就会一直进行,知道a>100循环结果
    sum += a
    a += 1
print(sum) #循环结束后输出结果

例2:循环计算从300~415之间所有的数据累加和 

sum = 0
a = 300
while a <= 415:
    sum += a
    a += 1
print(sum)

for循环

        for循环一般在遍历时使用:从头到尾,依次从列表中获取数据,在循环体内部针对每一个元素,执行相同的操作。字符串中有几个字符,for就会循环几次。基本语法:

'''
for 变量 in 字符串:
    循环里要执行的代码
'''

例1:遍历字符串“hi,肖战”

str1 = "hi,肖战"
for i in str1:#i是自己定义的一个变量
    print("*",i)#输出每次循环时i的值
'''
输出结果:
* h 
* i
* ,
* 肖
* 战
第一次循环时i的值是h
第一次循环时i的值是i
第一次循环时i的值是,
第一次循环时i的值是肖
第一次循环时i的值是战
'''

例2:循环遍历计算字符串“hi,肖战”,计算字符串中有多少字符

str1 = "hi,肖战"
count = 0 #定义一个变量用来存放遍历次数
for i in str1:
    count += 1 #每循环一次,count的值加1
print(count)

while 和 for的不同:

  1. ​​​​​​​while 用在制定次数的循环
  2. for 主要用在遍历
  3. while 和 for可以互换

range函数

range函数用来生成指定范围的一个数字序列,语法:range(strat,stop,step)

        start:范围的开始值

        stop:范围的结束值,但不包括stop

        step:步长,可以为负数,正数代表升序范围,负数代表降序范围

用for实现指定次数的循环(用for替换while),语法:

'''
for 变量名 in range(开始值,结束值,步长)
    循环代码
'''

例1:用for实现10次循环

for i in range(0,10): #for用于遍历一个范围,i是范围中的每一个数
    print(i)

循环中的关键字:break 和 continue

1、break:某一条件满足时,退出单层循环(一般在循环内部通过 if 语句的条件来执行break)

a = 0
while a < 10:
    print(a)
    if a == 3: #当a=3时,退出当前循环;a≠3时,不会执行break
        break #执行break后,循环不再执行
    a += 1

例1:在while循环内部,通过input接收用户输入,当用户输入exit,while循环终止

        方法1:循环次数设置无限大

a = 0
while a < 100000000:
    str = input("请输入:")
    if str == "exit":
        break
    print(str)
    a += 1

        方法2:人造死循环

        while后面的条件为True(循环内部一定要有if结合break来让循环退出是机制),例:循环次数不明确,直到输入exit,循环终止

while True:
    str = input("请输入:")
    if str == "exit":
        break
    print(str) 

 例2:通过input输入任意整数:

          如果输入的是3,打印3行*;

          如果输入的是5,打印5行*;

          如果输入的数>10,最多只打印10行*

a = 0
b = int(input("请输入一个整数:"))
while a < b:
    print("*")
    a += 1
    if a >= 10:
        break

2、continue

        某一条件满足时,结束本次循环,不执行continue后的循环体语句。返回循环开始执行下次循环。适用于在整个循环中只有某些条件不需要执行循环,其他条件都要执行循环的场景。(一般在循环内部通过 if 语句的条件来执行continue)

a = 0
while a < 5:
    a += 1
    if a == 3: #当a=3时,本次循环结束,跳过print,从while继续执行
        continue
    print(a)

        使用continue时要注意循环次数的处理,不能放在continue之后,否则会造成死循环

a = 0
while a < 5:
    if a == 3: #当a=3时,返回开始,但a的值没有变化,持续执行循环开始到contine部分的代码
        continue
    a += 1
    print(a)

        注:break 和 continue只针对当前所在循环有效,必须放到循环内部(适用于while循环和for循环)

循环嵌套

while嵌套:一个循环语句里面还有其他循环语句(while里面还有while

'''
while 条件:
    while 条件:
'''

例1:通过循环输出5行***,每个print只能输出一个*​​​​​​​

'''for循环'''
for a in range(0,5):
    for b in range(0,5):
        print("*",end="")
    print()

例2:循环嵌套输出三角形,每个print只能输出一个*

          *
          **
          ***
          ****
          *****

a = 0
while a < 5:
    b = 0
    while b <= a:
        print("*",end="")
        b += 1
    print()
    a += 1

例3:循环嵌套输出数字三角形,每个print只能输出一个*

          1
          12
          123
          1234
          12345

a = 0
while a < 5:
    b = 0
    while b <= a:
        print(b + 1, end="")
        b += 1
    print()
    a += 1
  • 26
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值