IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 15.流程控制之while循环 -> 正文阅读

[Python知识库]15.流程控制之while循环

1.while循环

在这里插入图片描述

1.1while循环格式

while语句通过后面的条件选择是否执行子代码块。
条件为真:则执行代码块内的语句,执行完后会再次放回到while语句的开始处,
再次对条件进行判断,为真则继续执行子代码块之后又回到条件判断···,为假才会跳过子代码块往后执行。
* 死循环:while的条件永远为真,一直执行子代码块。设计程序的时候不要出现没有阻塞状态的死循环。
格式:
1.while 关键字
2.条件+
3.代码块

1.2实例

1.死循环
终端不停的输出···打开计算机的控制面板可以看到计算机CPU的使用率直接起飞↑。
Created with Rapha?l 2.3.0 开始 while True print(1) 结束 yes no
while True:
    print(1)

在这里插入图片描述

2.指定次数循环
循环5次停止程序的运行。
Created with Rapha?l 2.3.0 开始 x=0 判断x<5 x的值 x += 1 结束 yes no
x = 0
while x < 5:
    print(x)
    x += 1

"""
0
1
2
3
4
"""
3.指定输入结束循环
获取用户输入,输入'q'结束循环。
input 会阻塞程序的运行,要求输入,不然一直阻塞。
while input("请输入执行的代码(按下q退出):") != 'q':
    print('代码执行完毕!')
    
 """
请输入执行的代码(按下q退出):das
代码执行完毕!
请输入执行的代码(按下q退出):asd
代码执行完毕!
请输入执行的代码(按下q退出):q

Process finished with exit code 0
 """
4.模拟登入功能
*许多网站上登入账户都是给三次机会,三次机会过后被限制一段时间内不能登入。*
模拟账户登入,账户密码输入正确,打印登入成功,结束程序,
否则打印账户或密码错误,之后再次获取用户的输入,三次都出错退出程序。
Created with Rapha?l 2.3.0 开始 num=0 num < 3 用户输入 账户&密码核对 登入成功 结束 num += 1 错误信息 yes no yes no
# 定义两个变量存储设置的账户与密码
username = 'kid'
password = '123'  # 注意是字符串

# 定义一个变成存储作为计数器
num = 0

# 循环获取用户输入,设置条件
while num < 3:
    input_username = input('输入用户名>>>>>:')
    input_password = input('输入用户密码>>>>:')
    # 判断用户名于密码
    if input_username == username and input_password == password:
        print('登入成功')
        # 跳出循环
        num = 3
    else:
        # 错误计数
        num += 1
        print('账户或密码错误,近期还可以尝试%s次' % (3-num))

1.3break语句

关键字break,用于while代码块内,当程序执行break时,立刻跳出本层循环。
Created with Rapha?l 2.3.0 开始 num = 0 while True print(num) num += 1 num == 10 break 程序结束 结束框 yes yes no
# 打印数字 0-9
num = 0
while True:
    print(num)
    num += 1
    if num == 10:  # num == 10进入循环
        break  # 执行到这就跳出循环
print('程序结束')

1.4break实例

1.模拟登入功能
模拟账户登入,账户密码输入正确,打印登入成功,结束程序。
否则要求不再次输入,直到输入正确才停止。
使用break。
Created with Rapha?l 2.3.0 开始 while True 获取账户密码 账户&密码正确 登入成功 break 结束 yes yes no
# 定义两个变量存储设置的账户与密码
username = 'kid'
password = '123'  # 注意是字符串

# 循环获取用户输入,设置条件
while True:
    input_username = input('输入用户名>>>>>:')
    input_password = input('输入用户密码>>>>:')
    # 判断用户名于密码
    if input_username == username and input_password == password:
        print('登入成功')
        # 跳出循环
        break
    print('请继续输入!!!')
2.2嵌套实例
模拟账户登入,要求输入用户名,判断用户是否正确
不正确打印:用户不存在,要求继续输入用户名。
存在则要求输入密码,再判断密码是否正确,正确则打印:登入成功,退出程序,
否则打印密码错误,要求继续输入密码。
Created with Rapha?l 2.3.0 开始 while True 获取账户名 账户名是否正确 获取账户密码 账户密码是否正确 break 登入成功 结束 密码不正确 用户不存在 yes yes no yes no
# 定义两个变量存储设置的账户与密码
username = 'kid'
password = '123'  # 注意是字符串

# 循环获取用户输入,设置条件
while True:
    input_username = input('输入用户名>>>>>:')
    if input_username == username:
        while True:
            input_password = input('输入用户密码>>>>:')
            if input_password == password:
                print('登入成功')
                break
            else:
                print('密码错误!')
        break
    else:
        print('用户不存在!')


2.3标志位实例
* 不能使用break
模拟账户登入,y要求输入用户名,判断用户是否正确
不正确打印:用户不存在,要求继续输入用户名。
存在则要求输入密码,再判断密码是否正确,正确则打印:登入成功,退出程序,
否则打印密码错误,要求继续输入密码。
Created with Rapha?l 2.3.0 开始 is_out = True is_out 获取用户名 用户是否存在 获取用户密码 密码是否正确 登入成功 is_out = False 结束 密码错误 用户不存在 yes no yes no yes no
# 定义两个变量存储设置的账户与密码
username = 'kid'
password = '123'  # 注意是字符串

# 定义标志位值
is_out = True

# 循环获取用户输入,设置条件
while is_out:
    input_username = input('输入用户名>>>>>:')
    if input_username == username:
        while is_out:
            input_password = input('输入用户密码>>>>:')
            if input_password == password:
                print('登入成功')
                # 修改标志位值
                is_out = False
            else:
                print('密码错误!')
    else:
        print('用户不存在!')
2.4猜数字游戏
用户可以有三次猜错的机会,错了提示 猜大了 还是 猜小了,如果过程中猜对了直接退出。
三次机会使用完后询问是否继续玩,输入q退出游戏,否则继续。
Created with Rapha?l 2.3.0 开始 num=0 | is_out = True is_out 获取输入 判断输入值 猜对了 break 结束 比实际值 大 猜大了 num += 1 剩下3-num次机会 num == 3 q退出,否则继续 判断是否为q is_out = False flowchat就是垃圾操 结束 num = 0 猜小了 yes no yes no yes no yes no yes no
# 定义一个变量存储需要猜的数字
age = 21

# 定义一个存储值的计数器,并初始化值
num = 0
is_out = True
# 设置循环的条件
while is_out:
    # 获取用户输入的值 int((input()) 将纯数字字符串转换为整型。不要输入非数字否则会报错。
    guess_age = int(input('输出你猜的数字:'))
    # 猜对了退出程序
    if guess_age == age:
        print('回到正确')
        break
    # 猜错了提示猜大了还说小了,记录错误的次数
    else:
        if guess_age > age:
            print('猜大了')
        else:
            print('猜小了')
        num += 1
        print('猜错了,你还有%s次机会' % (3-num))
        # 猜错三次后询问是否继续玩这个游戏
        if num == 3:
            if input('回复q退出否则继续') == 'q':
                is_out = False
                # 重置,记录错误的次数
            num = 0

1.5continue

关键字continue,用于while代码块内,当程序执行continue时,立刻结束本次循环。
# 打印数字 0-9 跳过4
x = 0
while x < 10:
    if x == 4:
        x += 1
        continue
    print(x)
    x += 1
很多情况下可以使用方法不执行某处循环。
x = 0
while x < 10:
    if x != 4:  
        print(x)
    x += 1

1.6while+else

当while循环正确执行执行完毕后接着执行else,如果,被break语句中断循环则不执行。
标准位退出循环,continue 结束某次循环不影响。
# 标准位退出循环
is_out = True
x = 0
while is_out:
    if x == 4:
        is_out = False
    print(x, end='')
    x += 1
else:
    print('x')

# continue 结束某次循环
x = 0
while x < 6:
    if x == 4:
        x += 1
        continue
    print(x, end='')
    x += 1
else:
    print('x')

# break中断循环
x = 0
while x < 6:
    if x == 4:
        x += 1
        break
    print(x, end='')
    x += 1
else:
    print('x')

 """
01234x
01235x
0123
 """
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-11 12:39:47  更:2021-11-11 12:39:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:57:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码