python(23)——while循环

news2024/11/15 8:32:55

前言

在Python中,while 循环用于重复执行一段代码块,只要指定的条件保持为真(True)。一旦条件变为假(False),循环就会终止。while 循环通常用于在不知道循环将执行多少次的情况下进行迭代。

while循环语法格式:

  • while条件运算:
  • 程序区块

提一点:程序设计时,如果忘了设计条件可以离开循环,程序造成无限循环状态,此时可以同时按Ctrl+C键,中断程序的执行。
 

正文

循环语句在生活中的应用非常广泛,循环广告牌、批量修图、视频轮播、音乐轮播、图片轮播、大喇叭喊话、动态壁纸等等。

while循环的简单应用

i=0
while i<10:
    print("爱你一万年")
    i =i+1

通过while循环完成1—10的加和

i=1
sum=0
while i<10:
    sum = sum + i
    i =i+1
    print(i)
print(sum)

使用while循环完成猜数字游戏

这个是一个简单的猜数字游戏,用户需要猜一个预先设定的数字(在这个例子中是7)。程序会提示用户输入一个数字,然后根据用户的输入与预设的秘密数字(secret)进行比较,给出相应的提示。

guess=0
secret=7
times=1
print("---------欢迎参加猜数字游戏,请开始---------")
while guess!=secret:
    guess=int(input("@数字区间0-9,请输入你猜的数字:"))
    print("你输入的数字是:",guess)
    if guess==secret:
        print("你猜了{}次,猜对了。真厉害". format(times))
    else:
        if guess<secret:
            print("你猜的数字小于正确答案")
        else:
            print("你猜的数字大于正确答案")
        times+=1
print("游戏结束")

while循环的嵌套使用

嵌套循环在生活中也有许多的例子,比如:

购物清单:当你准备购物时,你可能会首先列出需要购买的商品类别(如蔬菜、水果、肉类等),然后在每个类别下列出具体的商品。这个过程可以看作是一个嵌套循环。外层循环遍历每个商品类别,内层循环遍历每个类别下的具体商品。

打印一下99乘法表

i=1
#设定i初始值
while i <= 9:
    j =1
    while j <= 9:
        result=i*j
        print("%d*%d=%-3d" % (j, i, result), end=" ")
        j+=1 #内层循环加一

    print() #换行不输出
    i +=1

输出结果:

D:\anaconda2019\python.exe D:/pyprogect/py基础练习/while循环.py
1*1=1   2*1=2   3*1=3   4*1=4   5*1=5   6*1=6   7*1=7   8*1=8   9*1=9   
1*2=2   2*2=4   3*2=6   4*2=8   5*2=10  6*2=12  7*2=14  8*2=16  9*2=18  
1*3=3   2*3=6   3*3=9   4*3=12  5*3=15  6*3=18  7*3=21  8*3=24  9*3=27  
1*4=4   2*4=8   3*4=12  4*4=16  5*4=20  6*4=24  7*4=28  8*4=32  9*4=36  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  6*5=30  7*5=35  8*5=40  9*5=45  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  7*6=42  8*6=48  9*6=54  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  8*7=56  9*7=63  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  9*8=72  
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  

将代码第五行的9 改成 i ,可以减去右上角的一部分输出,增加视觉效果:

强制离开的break语句

在编程中,break 语句用于在循环(如 for 循环或 while 循环)中强制终止或跳出当前循环。当程序遇到 break 语句时,它会立即停止当前循环的执行,并跳出循环体,继续执行循环结构之后的代码。

实例查找第一个偶数

# 假设我们有一个数字列表,我们想要找到第一个偶数并打印它
numbers = [1, 3, 5, 6, 7, 8, 9]

for number in numbers:
    if number % 2 == 0:  # 检查数字是否为偶数
        print("第一个偶数是:", number)
        break  # 找到第一个偶数后,跳出循环

while循环暂时停止不往下执行-continue指令

在编程中,continue 语句用于在循环(如 for 循环或 while 循环)中跳过当前迭代,并立即开始下一次迭代。当程序遇到 continue 语句时,它会跳过当前循环迭代中剩余的代码,并继续执行下一次迭代,这个指令通常是和if语句配合使用。

# 假设我们有一个数字列表,我们想要打印出所有的偶数  
numbers = [1, 3, 5, 6, 7, 8, 9]  
  
for number in numbers:  
    if number % 2 != 0:  # 检查数字是否为奇数  
        continue  # 如果是奇数,跳过当前迭代  
    print("偶数:", number)  # 打印偶数  
  
# 输出结果将是:  
# 偶数: 6  
# 偶数: 8

小结

  • 明确的循环条件
    • 循环条件必须明确且可以评估为 True 或 False。如果条件永远为 True,循环将无限循环下去,这通常是一个错误。
    • 循环条件应该根据实际需求来设计,确保循环能够在合适的时机终止。
  • 循环体内的变量更新
    • 在循环体内,通常会有改变循环条件的变量或状态的代码。如果没有这样的代码,循环可能会无限执行下去,或者无法达到预期的效果。
    • 确保循环体内的代码能够适当地更新循环条件中涉及的变量。
  • 避免死循环
    • 死循环是指循环条件永远无法满足,导致程序无法继续执行后续代码的情况。这通常是由于循环条件设置不当或者循环体内没有正确的变量更新造成的。
    • 在设计循环时,应该仔细考虑循环条件,确保存在一种情况可以使循环条件变为 False,从而终止循环。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【快速搞定Webpack5】修改输出文件目录及自动清理上次打包文件(五)

介绍 默认情况下webpack打包后&#xff0c;我们的图片和js等文件都会被打包到dist目录下&#xff0c;文件多了混淆在一起一方面不利于文件的查找和管理&#xff0c;另外一方面看上去也不美观。 所以今天我们学习的内容就是控制输出后的文件进入不同的目录。 一、配置 新增4…

对象池模式-Object Pool Pattern

原文地址:https://jaune162.blog/design-pattern/object-pool-pattern/ 原文中可下载高清SVG矢量类图 引言 对象池模式(Object Pool Pattern)是一种创建一组可重用对象的设计模式。它通过维护一个预分配的对象集合,避免了频繁地创建和销毁对象所带来的性能开销。在需要使用…

力扣145 二叉树的后序遍历 Java版本

文章目录 题目描述递归解法代码 非递归解法思路代码 题目描述 给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[3,2,1] 示例 2&#xff1a; 输入&#xff1a;root [] 输出…

指针笔试题(C语言进阶)

目录 前言 1、案例一 1.1 答案 1.2 解析 2、案例二 2.1 答案 2.2 解析 3、案例三 3.1 答案 3.2 解析 4、案例四 4.1 答案 4.2 解析 5、案例五 5.1 答案 5.2 解析 总结 前言 “纸上得来终觉浅&#xff0c;绝知此事要躬行”。本篇通过对指针实际案例的分析&…

【Spring】SpringBoot 创建和使用

目 录 一.什么是Spring Boot&#xff1f;为什么要学Spring Boot&#xff1f;二.Spring Boot 优点三.Spring Boot 项目创建3.1 使用 Idea 创建3.2 网页版创建注意事项&#xff1a;包路径错误小结&#xff1a;约定大于配置 一.什么是Spring Boot&#xff1f;为什么要学Spring Boo…

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习二(leetcode真题剖析)

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习二 01.括号生成02.组合03.目标和04.组合总和 01.括号生成 题目链接&#xff1a;https://leetcode.cn/problems/generate-parentheses/ 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有…

【JS逆向学习】同花顺(q.10jqka)补环境

逆向目标 目标网址&#xff1a;https://q.10jqka.com.cn/ 目标接口&#xff1a; https://q.10jqka.com.cn/index/index/board/all/field/zdf/order/desc/page/3/ajax/1/ 目标参数&#xff1a;cookie 逆向过程 老规矩&#xff0c;先分析网络请求&#xff0c;发现是 cookie 加…

MySQL 8.0.36 WorkBench安装

一、下载安装包 百度网盘链接&#xff1a;点击此处下载安装文件 提取码&#xff1a;hhwz 二、安装&#xff0c;跟着图片来 选择Custom,然后点Next 顺着左边框每一项的加号打开到每一个项的最底层&#xff0c;点击选中最底层的项目&#xff0c;再点击传过去右边的绿色箭头&a…

光伏智慧化运维系统:实现一站式光伏服务前沿探索

随着全球能源结构的转型&#xff0c;光伏发电已成为绿色能源的重要组成部分。然而&#xff0c;光伏企业的运营和管理却面临着诸多挑战&#xff0c;如方案设计慢、运行状况难以实时掌握、收资效率低等。为解决这些问题&#xff0c;光伏智慧化运维系统应运而生&#xff0c;以其一…

2024牛客(4)K题

登录—专业IT笔试面试备考平台_牛客网 using i64 long long; using ll long long; constexpr ll M 1e9 7; template<class Info> struct SegmentTree {int n;std::vector<Info> info;SegmentTree() : n(0) {}SegmentTree(int n_, Info v_ Info()) {init(n_, …

学习笔记-Git

Git 问题一描述解决方法注意事项 问题一 描述 在commit和push的时候因为网络太慢了中途强行关闭了进程&#xff0c;而push的内容因为文件过大导致无法正常push 按照原本的流程在push的时候会提示失败&#xff0c;并且需要在解决了大文件之后重新push 而因为中途中断了&#x…

GitHubApp大集结!GSYGithubAppFlutter带你飞越编程世界!

GitHubApp大集结&#xff01;GSYGithubAppFlutter带你飞越编程世界&#xff01; GSYGithubAppFlutter是一个功能丰富、跨平台的开源GitHub客户端应用程序&#xff0c;基于Flutter框架开发。该项目属于GSYGithubApp系列&#xff0c;目前已经拥有Flutter、Weex、ReactNative和Ko…

Microsoft PowerToys:自定义 Windows 的实用程序

Microsoft PowerToys&#xff1a;自定义 Windows 的实用程序 Microsoft PowerToys 是一组实用程序&#xff0c;供高级用户调整和简化其 Windows 体验以提高工作效率。 微软官方地址为&#xff1a;https://learn.microsoft.com/en-us/windows/powertoys/&#xff0c;其github源…

防火墙内容安全笔记

目录 DFI和DPI IDS和IPS 签名 AV URL过滤 HTTPS过滤 内容过滤 文件类型过滤 文件内容过滤 邮件过滤 VPN概述 DFI和DPI DFI和DPI技术 --- 深度检测技术 DPI DPI --- 深度包检测技术 --- 主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#…

Spring的copy属性

Spring 的 BeanUtils.copyProperties()实现的是浅拷贝 ClassA public class ClassA {private Integer age;private String name;private ClassC c;public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public String getName() {return n…

【stm32】hal库-双通道ADC采集

【stm32】hal库-双通道ADC采集 CubeMX图形化配置 程序编写 /* USER CODE BEGIN PV */ #define BATCH_DATA_LEN 1 uint32_t dmaDataBuffer[BATCH_DATA_LEN]; /* USER CODE END PV *//* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 24, "Demo14_4:ADC1 ADC2 S…

vue大文件读取部分内容,避免重复加载大文件,造成流量浪费

使用场景&#xff1a;项目点云地图是pcd文件&#xff0c;但是文件可能上百兆&#xff0c;我需要获取到文件中的版本信息&#xff0c;跟本地的缓存文件做比较&#xff0c;如果不一致&#xff0c;才会加载整个文件。从而节省流量。 避免重复加载整个“.pcd文件&#xff0c;以最大…

2.21数据与结构算法学习日记(最小生成树prim算法)

目录 最小生成树prim 最小生成树算法是一种用来在一个加权连通图中找到最小生成树的算法。最小生成树是一个包含图中所有顶点的树&#xff0c;其总权值最小。 prim算法 洛谷题目示例 P3366 【模板】最小生成树 题目描述 输入格式 输出格式 输入输出样例 说明/提示 题…

郑板桥的人生境界是难得糊涂

郑板桥是康熙秀才&#xff0c;雍正举人&#xff0c;乾隆进士。 郑板桥小时候跟父亲在真州读书&#xff0c;长大后在真州教书。后来&#xff0c;郑板桥去扬州卖画谋生。 郑板桥没有老师&#xff0c;画画靠自己琢磨。郑板桥一生画竹&#xff0c;画了四十年的竹子&#xff0c;主…

【析】考虑同时取送和时间窗的车辆路径及求解算法

期刊&#xff1a;computer engineering and applications 计算机工程与应用![c 引言 1. 问题分析 1.1 问题描述 问题描述为&#xff1a; 若干运输车辆从配送中心出发为客户取送货并最终返回配送中心&#xff0c;每位客户仅由一辆车服务一次&#xff0c;车辆在配送过程中任…