一文了解Python中的while循环语句

目录

🥩循环语句是什么

🥩while循环

🥩遍历猜数字

🥩while循环嵌套

🥩while循环嵌套案例


     🦐博客主页:大虾好吃吗的博客

     🦐专栏地址:Python从入门到精通专栏

循环语句是什么

        循环语句在编程中非常有用,可以帮助我们重复执行特定的代码块,从而实现一些重复性的任务。循环语句的主要作用如下:

  1. 遍历数据:循环语句可以用来遍历数据结构中的元素,例如列表、元组、字符串等。通过循环可以逐个访问集合中的元素并进行相应的处理。

  2. 执行重复操作:有时候我们需要反复执行相同的操作,这时循环语句能够方便地实现。通过循环控制代码块的重复执行,可以减少代码的冗余性。

  3. 控制流程:循环语句可以帮助我们控制程序的流程。根据特定条件来判断是否继续执行循环或退出循环,可以根据需要灵活地控制程序的行为。

  4. 实现计数器:循环语句经常与计数器变量结合使用,可以追踪循环的次数或当前的进展。通过计数器,我们可以统计符合特定条件的元素个数,或者在满足某一条件前一直循环执行。

  5. 实现嵌套循环:循环语句支持嵌套使用,可以在一个循环内部再放置另一个循环。这样可以更灵活地处理复杂的问题,例如处理二维数据结构或实现复杂的模式。

        循环语句可以帮助我们处理重复性任务,提供了一种有效的方式来遍历数据、重复操作、控制流程和实现嵌套循环。通过合理运用循环语句,我们能够更加高效地编写代码并实现复杂的功能。

while循环

注意事项:

  1. 条件必须提供布尔类型结果,True无限循环,False条件循环。

  2. 空格缩进不能忘。

  3. 规划好循环终止条件,否则将无限循环。

while 条件:
    条件满足时,做的事情1
    条件满足时,做的事情1
    条件满足时,做的事情1
    ...

        只要条件满足,会无限循环执行下去。

示例:打印你好0~100(i += 1表示每次循环加一;等效于i=i+1)

输入内容如下:

i = 0
while i < 100:
    print("你好%.0f" % i)
    i += 1

输出结果如下:

你好0
你好1
你好2
你好3
...

黑马练习题

输入结果如下:

z = 0
i = 1
while i <= 100:
    z += i
    i += 1
print(z)

输出结果如下:

5050

遍历猜数字

输入内容如下:

# 获取1-100的随机数字
import random
num = random.randint(1,100)
# 定义猜测次数
count = 0
# 定义一个布尔类型的变量,决定循环是否继续
flag = True
while flag:
    num1 = int(input("请输入您猜测的数字:"))
    count += 1
    if num1 == num:
        print("恭喜您猜中了")
        # 设置False为终止条件
        flag = False
    else:
        if num1 > num:
            print("数值过大")
        else:
            print("数值过小")
print(f"您总共猜测了{count}次")

输出结果如下:

请输入您猜测的数字:50
数值过小
请输入您猜测的数字:60
恭喜您猜中了
您总共猜测了2次

while循环嵌套

        下面是语法格式,需要注意空格缩进来确定层次关系,注意条件的控制,避免无限循环。循环条件的控制,层次越多越复杂,需要耐心及细心。

循环嵌套语法如下:

while 条件1:
    条件1满足,做的事情1
    条件2满足,做的事情2
    ...
    
    while 条件2:
        条件2满足,做的事情1
        条件2满足,做的事情2
        ...

黑马案例:

向小美表白100天,每天送10多玫瑰花。

输入内容如下:

# 外层循环: 表白100天
# 内层循环: 每天送10只玫瑰花

i = 1
while i <= 100:
    print(f"今天是第{i}天")

    # 内层循环
    z = 1
    while z <= 10:
        print(f"送给小美第{z}只玫瑰花")
        z += 1

    print("小美,我喜欢你")
    i += 1
print(f"坚持到第{i - 1}天,表白成功")

输出结果如下:

#省略部分内容
​
小美,我喜欢你
今天是第100天
送给小美第1只玫瑰花
送给小美第2只玫瑰花
送给小美第3只玫瑰花
送给小美第4只玫瑰花
送给小美第5只玫瑰花
送给小美第6只玫瑰花
送给小美第7只玫瑰花
送给小美第8只玫瑰花
送给小美第9只玫瑰花
送给小美第10只玫瑰花
小美,我喜欢你
坚持到第100天,表白成功
​
进程已结束,退出代码0

while循环嵌套案例

1、当使用print输出多行语句时,会自动换行,如果打印多行且不换行时可以使用end=""。

输入内容如下:

print("hello",end="")
print("world",end = "")

输出结果如下:

helloworld

2、当打印多行字符串时,默认打印出来的字符串不对齐,如果需要对其添加 制表符 \t 即可。

输入内容如下:

print("hello\tworld")
print("test\tworld")

输出内容如下:

hello   world
test    world

案例如下:

通过while循环,输出九九乘法表内容。

输入内容如下:

# 打印九九乘法表
i = 1
​
while i <= 9:
    # 定义内层循环控制变量
    z = 1
    while z <= i:
        # 内层循环print语句,不换行,对齐
        print(f"{z} * {i} = {z * i }\t",end='')
        z += 1
    i += 1
    print()     # 输出一个空内容表示换行

输出内容如下:

1 * 1 = 1   
1 * 2 = 2   2 * 2 = 4   
1 * 3 = 3   2 * 3 = 6   3 * 3 = 9   
1 * 4 = 4   2 * 4 = 8   3 * 4 = 12  4 * 4 = 16  
1 * 5 = 5   2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25  
1 * 6 = 6   2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  
1 * 7 = 7   2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49  
1 * 8 = 8   2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64  
1 * 9 = 9   2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/43659.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot创建和使用

1.Spring Boot的优点 快速集成框架&#xff0c;Spring Boot提供了启动添加依赖的功能&#xff0c;用于秒级成各种框架。内置运行容器&#xff0c;无需配备Tomcat等Web容器&#xff0c;直接运行和部署程序。快速部署项目&#xff0c;无需外部容器即可启动并运行项目。可以完全抛…

概率论和随机过程的学习和整理--番外15,如何计算N合1的合成数量问题?

目录 1 目标问题&#xff1a;多阶2合1的合成问题 1.1 原始问题 1.2 合成问题要注意&#xff0c;合成的数量 1.3 合成问题不能用马尔科夫链来解决 2 方案1&#xff1a;用合成公式合成多次能解决吗&#xff1f; --不能&#xff0c;解决不了递归的问题 3 方案2&#xff0c;…

idea2021.安装pojie教程

1、下载ideaIU-2021.3应用包&#xff0c;点击finish 2、先关闭idea窗口&#xff0c;等会激活了脚本再运行打开。 3、双击运行install-current-user.vbs&#xff0c;等待一会会提示运行成功。 4、运行后&#xff0c;在文件中会多出一条配置 5、打开运行idea,输入激活码&#x…

如何使用curl下载github代码

首先通过chrome打开想要下载的源文件 如图&#xff0c;有那个下载图标时表示不需要鉴权即可下载&#xff0c;一般仓库都会开放只读权限&#xff0c;所以很大概率都有 比如我想下载这个crc32.c文件 那么我就需要知道它在哪个IP中&#xff0c;按下F12打开网络&#xff0c;点击下载…

pytorch安装GPU版本 (Cuda12.1)教程

使用本教程前&#xff0c;默认您已经安装并配置好了python3以上版本 1. 去官网下载匹配的Cuda Cuda下载地址 当前最高版本的Cuda是12.1 我安装的就是这个版本 小提示&#xff1a;自定义安装可以只选择安装Cuda Runtime。Nvidia全家桶不必全部安装。把全家桶全部安装完直接系统…

ChatGPT助力校招----面试问题分享(十二)

1 ChatGPT每日一题&#xff1a;运算放大器与比较器的区别 问题&#xff1a;运算放大器与比较器的区别 ChatGPT&#xff1a;运算放大器和比较器都是电子电路中常用的模拟电路元件&#xff0c;但它们的设计和应用略有不同。下面是两者的主要区别&#xff1a; 功能不同&#xf…

Java集合之List

ArrayLsit集合 ArrayList集合的特点 ArrayList集合的一些方法 ①.add(Object element) 向列表的尾部添加指定的元素。 ②.size() 返回列表中的元素个数。 ③.get(int index) 返回列表中指定位置的元素&#xff0c;index从0开始。 public class Test {public static void m…

【Vue】day03-VueCli(脚手架)

day03 一、今日目标 1.生命周期 生命周期介绍 生命周期的四个阶段 生命周期钩子 声明周期案例 2.综合案例-小黑记账清单 列表渲染 添加/删除 饼图渲染 3.工程化开发入门 工程化开发和脚手架 项目运行流程 组件化 组件注册 4.综合案例-小兔仙首页 拆分模块-局部…

有名管道(FIFO)的学习笔记

文章目录 有名管道介绍有名管道的使用创建 注意事项 有名管道介绍 有名管道的使用 创建 命令&#xff0c; mkfifo name函数&#xff0c;int mkfifo(const char *pathname, mode_t mode); 设置错误号&#xff1b; 向管道中写数据&#x1f447;&#xff1a; 从管道读数据&am…

前端Web实战:从零打造一个类Visio的流程图拓扑图绘图工具

前言 大家好&#xff0c;本系列从Web前端实战的角度&#xff0c;给大家分享介绍如何从零打造一个自己专属的绘图工具&#xff0c;实现流程图、拓扑图、脑图等类Visio的绘图工具。 你将收获 免费好用、专属自己的绘图工具前端项目实战学习如何从0搭建一个前端项目等基础框架项…

log4j--动态打印日志文件到指定文件夹

文章目录 log4j--动态打印日志文件到指定文件夹1、添加Maven依赖2、配置文件 log4j.properties3、编写日志打印工具类 LogUtil4、工具类调用 log4j–动态打印日志文件到指定文件夹 1、添加Maven依赖 <!-- log4j日志相关坐标 --><dependency><groupId>org.s…

API Testing 一个基于 YAML 文件的开源接口测试工具

目录 前言&#xff1a; 如何使用&#xff1f; 本地模式 服务端模式 文件格式 后续计划 前言&#xff1a; API Testing 是一个基于 YAML 文件的开源接口测试工具&#xff0c;它可以帮助开发者快速地进行接口测试。 在选择工具时&#xff0c;可以从很多方面进行考量、对比…

【Matlab】基于遗传算法优化 BP 神经网络的数据回归预测(Excel可直接替换数据)

【Matlab】基于遗传算法优化 BP 神经网络的数据回归预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理2.文件结构3.Excel数据4.分块代码4.1 arithXover.m4.2 delta.m4.3 ga.m4.4 gabpEval.m4.5 initializega.m4.6 maxGenTerm.m4.7 nonUnifMutation.m4.8 normGeomSel…

Pytorch:利用torchvision调用各种网络的预训练模型,完成CIFAR10数据集的各种分类任务

2023.7.19 cifar10百科&#xff1a; [ 数据集 ] CIFAR-10 数据集介绍_cifar10_Horizon Max的博客-CSDN博客 torchvision各种预训练模型的调用方法&#xff1a; pytorch最全预训练模型下载与调用_pytorch预训练模型下载_Jorbol的博客-CSDN博客 CIFAR10数据集下载并转换为图片&am…

vue中export和export default的使用

<script> export default {name: HelloWorld } $(function () {alert(引入成功) }) </script> 1、export的使用 比喻index.js要使用test.js中的数据&#xff0c;首先在test.js文件中进行导出操作 代码如下&#xff1a; export function list() {alert("list…

【表达式引擎】简单高效的轻量级Java表达式引擎:Aviator

简单高效的轻量级表达式引擎&#xff1a;Aviator 前言 Aviator 是一个高性能、、轻量级的表达式引擎&#xff0c;支持表达式动态求值。其设计目标为轻量级和高性能&#xff0c;相比于 Groovy 和 JRuby 的笨重&#xff0c;Aviator 就显得更加的小巧。与其他的轻量级表达式引擎不…

Python实战项目——物流行业数据分析(二)

今天我们对物流行业数据进行简单分析&#xff0c;数据来源&#xff1a;某企业销售的6种商品所对应的送货及用户反馈数据 解决问题&#xff1a; 1、配送服务是否存在问题 2、是否存在尚有潜力的销售区域 3、商品是否存在质量问题 分析过程&#xff1a; 依旧先进行数据处理 一…

【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比

【MATLAB第58期】基于MATLAB的PCA-Kmeans、PCA-LVQ与BP神经网络分类预测模型对比 一、数据介绍 基于UCI葡萄酒数据集进行葡萄酒分类及产地预测 共包含178组样本数据&#xff0c;来源于三个葡萄酒产地&#xff0c;每组数据包含产地标签及13种化学元素含量&#xff0c;即已知类…

C# List 详解四

目录 18.FindLast(Predicate) 19.FindLastIndex(Int32, Int32, Predicate) 20.FindLastIndex(Int32, Predicate) 21.FindLastIndex(Predicate) 22.ForEach(Action) 23.GetEnumerator() 24.GetHashCode() 25.GetRange(Int32, Int32) C#…

【搜索引擎Solr】配置 Solr 以获得最佳性能

Apache Solr 是广泛使用的搜索引擎。有几个著名的平台使用 Solr&#xff1b;Netflix 和 Instagram 是其中的一些名称。我们在 tajawal 的应用程序中一直使用 Solr 和 ElasticSearch。在这篇文章中&#xff0c;我将为您提供一些关于如何编写优化的 Schema 文件的技巧。我们不会讨…