云计算百科
云计算领域专业知识百科平台

python中的循环

Python中的循环

什么是循环

有条件地重复的地做一件事情,每一次做的事情不同但类似

循环的作用

让代码高效的重复执行

循环的种类

在Python中,循环一共分为两大类: while循环与for循环

while循环和for循环如何选择?

  • 对于循环次数固定(已知)情况下,建议使用for循环,例如:1~100循环
  • 对于循环次数未知(不确定)的情况下,建议使用while循环,例如:猜数字游戏
  • while循环基本语法及其对应

    while循环的基本语法

    # 三步走
    # step1: 初始化计数器
    i = 0 or 1
    # step2: 编写循环条件
    while 循环条件(判断 计数器 是否达到了目标位置)
    循环体1
    循环体2
    ...
    # step3: 在循环内更新计数器
    i = i + 1 或 i += 1

    案例:输出5遍"hello python"

    # 1. 初始化计数器
    i = 0
    # 2. 编写循环条件
    while i < 5:
    print('hello python')
    #3. 在循环体内部更新计数器
    i += 1

    while循环流程图:

    在这里插入图片描述

    while循环案例

    案例1: 使用while循环求1~100的和

    # 第一步: 初始化计数器
    i = 0
    # 定义一个变量,接收累加后的结果
    total = 0
    # 第二步: 编写循环条件
    while i <= 100:
    total += i
    # 第三步: 更新计数器的值
    i += 1
    print(f'1~100累加和为:{total}')

    案例2: 1~100之间,偶数的和

    # 初始化计数器
    i = 0
    total = 0
    # 编写循环条件
    while i <= 100:
    # 变量i为一个偶数
    if i % 2 == 0:
    total += i
    # 更新计数器的值
    i += 1
    print(f'偶数和为:{total}')

    循环中的两大关键词

    两个关键词

    在python循环中的两个关键词:

  • break: 代表终止怎个循环结构
  • continue: 代表中止当前本次循环,继续下一次循环
  • 案例

    break关键字

    在吃包子的过程中,吃完第三个吃饱了,不需要再吃第4,5个包子了,停止吃这个动作,这里会用break控制循环流程,即终止此循环

    # 初始化计数器
    i = 1
    # 编写循环条件
    while i <= 5:
    # 当变量i == 4的时候,终止循环
    if i == 4:
    print('我已经吃饱了,实在吃不下了…')
    break

    # 正在吃第几个包子
    print(f'正在吃第{i}个包子')

    # 更新计数器
    i += 1

    continue关键字

    在吃包子的过程中,第三个吃到不喜欢的口味,不吃了,继续吃第四个,第五个,这里就是continue控制循环流程,即退出当前一次循环继而执行下一次

    # 初始化计数器
    i = 1
    # 编写循环条件
    while i <= 5:
    # 当变量i == 3的时候,中止当前循环,继续下一次循环
    if i == 3:
    # 手工更新计数器(非常重要)
    i += 1
    print('不好吃,不想吃这个了…')
    continue

    print(f'正在吃第{i}个包子')
    # 更新计数器
    i += 1

    tips:在使用continue时,不手工更新计数器会出现死循环

    while案例:猜数字

    编写一个Python程序,随机生成一个1到100之间的整数,用户通过输入猜测的数字,程序会根据用户的输入提示“猜大了”、“猜小了”或“猜对了”。用户可以无限次猜测,直到猜对为止。猜对后,程序会提示用户并结束游戏。

    # 导包
    import random
    # 随机生成1~100之间的数字
    num = random.randint(1, 100)
    while True: #因为不知道次数,这里用True
    guess = int(input('请输入1-100之间的一个数: '))
    if guess > num:
    print('猜大了,请继续')
    elif guess < num:
    print('猜小了,请继续')
    else:
    print('恭喜您,答对了')
    break

    for循环基本语法及其应用

    for循环结构主要用于序列 (字符串、列表、元组、集合以及字典)类型数据的遍历(循环)操作。

    for 临时变量 in 序列:
    重复执行的代码1
    重复执行的代码2

    案例:

    str1 = 'hello'
    for i in str1:
    print(i) #'h','e','l','l','o'

    range方法(函数)

    Python2 range() 函数返回的是列表,而在Python3中 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

    这里主要用于生成一段内容,0~9

    基本语法:

    range(stop)
    range(start, stop, step)

    start: 计数从 start 开始。默认是从 0 开始。例如range5)等价于range05;
    stop: 计数到 stop 结束,但不包括 stop。例如:range05) 是 [0, 1, 2, 3, 4] 没有 5
    step:步长,默认为1。例如:range05) 等价于 range(0, 5, 1)

    案例:for循环与range方法,使用for循环,循环5次

    for i in range(5): #包左不包右
    print(i)

    for循环案例

    案例: 使用for循环,求1~100相加的和

    # 定义一个变量,用于接收1~100相加的和
    result = 0
    # 从1开始循环,循环100次
    for i in range(1, 101):
    result += i
    print(f'1~100之间所有和为{result}')

    案例: 使用for循环,求1 ~ 100之间所有偶数的和

    # 定义一个变量,用于接收1~100之间所有偶数的和
    result = 0
    # 从1开始循环,循环100次
    for i in range(1, 101):
    if i % 2 == 0:
    result += i
    print(f'1~100之间所有偶数的和为{result}')

    案例: 实现用户登录判断

    输入用户名和密码

    判断用户名和密码是否正确(username=‘admin’,password=‘admin888’)

    登录仅有三次机会,超过3次会报错

    name = 'admin'
    password = '123456'

    # 3次机会,循环3次
    for i in range(3):
    user_name = input('请输入用户姓名: ')
    user_password = input('请输入用户密码: ')
    if user_name == name and user_password == password:
    print(f'登陆成功,欢迎您{user_name}')
    else:
    # 在i=32时,为最后一次机会
    if i == 2:
    print('录入有误,您将被锁定')
    else:
    print(f'录入有误,您还有{2 i}次机会')

    for循环中的else结构

    基本语法:

    for 临时变量 in 序列:
    循环体
    else:
    for循环正常结束后,返回的代码

    break关键字对for…else结构的影响

    str1 = 'itheima'
    for i in str1:
    if i == 'e':
    print('遇e不打印')
    break
    print(i)
    else:
    print('循环正常结束之后执行的代码')

    continue关键字对for…else结构的影响

    str1 = 'itheima'
    for i in str1:
    if i == 'e':
    print('遇e不打印')
    continue
    print(i)
    else:
    print('循环正常结束之后执行的代码')

    总结:

  • for循环中的else结构在循环正常结束后执行
  • 如果循环被break终止,则else结构不会执行
  • continue关键词不会影响else结构的执行,else结构仍然会在循环正常结束后执行
  • 案例: 判断字符串中是否存在空格

    # 定义一个字符串
    s = "jfjfojewojfoo"
    # 循环这个字符串
    for i in s:
    # 判断是否存在空格
    if i == ' ':
    print('发现空格,退出循环')
    break
    else:
    print('没有发现空格')

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » python中的循环
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!