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知识库 -> 3分钟带你了解python中分支与循环2 -> 正文阅读

[Python知识库]3分钟带你了解python中分支与循环2

3分钟带你了解python中分支与循环2

? 上一篇文章《3分钟带你了解分支与循环1》了解了分支结构,现在,我们再来看看循环结构。

循环结构

? 当你想执行一段代码很多次,当然,当数量很少时,我们用Ctrl + C、Ctrl + V就可以搞定了。但是现实总是,在一个程序里面某一段代码可能动不动就需要执行几十次、几百次、甚至几千几万…次,这个时候,如果再用Ctrl + C、Ctrl + V可能手都要断掉了吧。于是,它来了,循环就是解决这个问题的,在python中有两种循环,分别是for循环和while循环

for 循环

  • 基本语法:

    for 变量 in  循环范围:
    	pass # pass表示要执行的代码块
    

    for、in 为固定语法,i 表示每次在循环范围里取出的值,这个变量不需要定义也初始化,只要遵循命名规则即可,不了解命名规则的小白请看我之前的文章《Python中的变量》,而循环范围用得最多的是range函数,看这儿https://www.cnblogs.com/jiangkeji/p/9025921.html,下面看看for循环使用的几种常用情况,例如

    for i in range(10)
    	pass 
    # 里面的 i 每次循环分别对应的值是0,1,2,3,4,5,6,7,8,9(程序员数数从0开始,哈哈),也就是说这个循环可以执行十次,
    # 而且,i在记录循环次数时不需要像C语言那样写上 i += 1,python中的for循环里面 i 是可以自己再执行后加1的
    

    那么,肯定有人问了,当我想要“ i += 2”时又该怎样做呢?上代码

    for i in range(1,102)pass
    

    (1,10,2)中的2叫做步长,这里,它表示从1开始到9(10不能被取到,不知道的看上面链接),i 可以为1,3,5,7,9,那么在这里面,是不是此循环就只会执行5次了,实现了“i + = 2”,那么如果是

    “ i -= -1“呢?这时候就是

    for i in range(10,1-1)pass
    # 相信这就不用我再赘述了吧,自己结合上面思考一下,或执行一下代码
    
    • 下面来看看实例

    1.用for循环输出10个”Hello,World!“

    for i in range(10):
        print("hello, world!")
    

    2.用for循环对1–100之间的数求和

    total = 0
    for i in range(1,101):
        total += i
    print(total)
    

    3.用for循环实现输入一个数n,求n的阶层(n! = n * (n - 1 ) * (n - 2) * ··· * 2 * 1 )

    total = 0
    for i in range(2,n + 1):  # 这里直接从2开始是因为任何数乘以1等于任何数
        total *= i
    print(total)
    

那么,用for循环时,我们都是已经知道代码的循环执行范围了,那么,如果需要运行一段代码时,它的循环次数我们不知道呢,这时候又该怎么办呢?这时候,就要用到了第二种循环——while循环

while循环

for循环的有点在于,在处理一个一直执行次数的循环问题的时候用它很方便,因为它的结构简单,不需要用“i += 1 ”这样的语句去控制循环的执行,但是,比如在控制用户登陆时,要想让用户在没有限制的情况下去输入用户名和密码,直到输入的用户名和密码都正确,才进入系统,否则,显示密码或者用户名错误,返回到登陆界面继续输入。于是,这个时候for循环就有心而无力了,因为我们并不知道用户会输错多少次。而对于while循环来讲,for循环能做的事它能做,for循环不能做的事他来做。但是它需要像C语言那样用“i += 1 ”那样的语句去协助控制循环。

  • while的基本语法
while 条件表达式:
	pass

条件表达式的结果是布尔值(TrueFalse),只有在条件表达式的结果为True时(变量之间满足条件表达式的要求)才执行循环,否则不循环。

  • 实例

    1.用while循环实现输出10次“Hello,world!”

    i = 0
    while i < 10:
        print("Hello,world!")
        n += 1
    

    在不知道需要执行多少次循环时,可以直接将条件表达式写成True,这样就得到了一个死循环,可以在循环中当设置条件,当满足条件时使用break终止循环

    实例2.猜随机数游戏

    机器产生一个随机数(假设在1,100之间),用户每次输入一个数字,当猜对后结束,否则一直循环

    # 产生随机数
    import random
    ran1 = random.randrange(1,101)
    #用户输入数字,进行判断
    n = 0
    while True:
        guess = int(input("请输入你猜测的数:")) #接受用户输入的数字
        if guess == ran1:                     #判断guess是否等于随机数ran1
            if n == 1:
                print("天才,猜对了")
            else:
                n += 1                        # 计数器(记录输入的次数)
                print(f"恭喜你,猜对了,猜了{n}次")
            break                            # 当guess = ran1跳出while True这个循环
        elif guess > ran1:
            print("猜错了,小一点,请重新输入")
            n += 1  
        else:
            print("猜错了,大一点,请重新输入")
            n += 1
    

使用while True时一定要用break配合使用(当然,特意使用死循环除外),不然会“根本停不下来”哦

纸上得来终觉浅,绝知此事要躬行
学编程一定要都一分看,七分练,赶紧打开电脑练习吧
如果觉得对你有帮助,不要忘记点赞、关注加收藏哦

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:43:09  更:2021-07-23 10:43:38 
 
开发: 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年5日历 -2024/5/7 0:18:35-

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