当前位置: 首页 > news >正文

Python 程序设计讲义(21):循环结构——while循环

Python 程序设计讲义(21):循环结构——while循环

目录

  • Python 程序设计讲义(21):循环结构——while循环
    • 一、while 循环的语法
    • 二、while 循环执行的流程
    • 三、while 循环应用举例

一、while 循环的语法

while 循环称为条件循环。在循环时,首先对特定条件进行判断,如果条件成立,就执行相应的语句(称为循环体);如果条件不成立,就结束循环。

while循环的语法格式如下:

while 循环条件:循环体

例如:求 5 的阶乘。

程序如下:

f,i=1,1
while i<=5:f*=ii+=1
print(f)程序执行结果为:
120

二、while 循环执行的流程

while 循环执行的过程为:

步骤1:判断 while 后面的条件,如果为真,则转向步骤2,如果为假,则转向步骤3。

步骤2:执行循环体。执行完之后,转向步骤1,继续判断条件。

步骤3:循环结束。

while 循环的程序流程图如下图所示:

在这里插入图片描述

说明:

(1)循环开始之前,如果 while 后面的条件为假,则直接跳过循环,则循环一次都不会执行。

(2)循环体可以有一条语句,也可以有多条语句组成。循环体中的所有语句必须具有相同的缩进。

(3)循环中要有语句改变某个变量的值(如上例中循环体中的语句i+=1),使得条件表达式因为该变量值的改变而可能出现结果为假,从而能够导致循环终止,否则会造成无限循环(又称为死循环),这个变量称为循环控制变量(如上例中的变量i)。

三、while 循环应用举例

(1)用户通过键盘输入多个数值(输入 0 时结束),打印用户输入的所有数值的和。

程序如下:

sum,cnt=0,0
x=eval(input("请输入数值(输入0结束): "))
while x!=0:sum=sum+x;cnt+=1x = eval(input("请输入数值(输入0结束): "))
print("你一共输入了{}个数值".format(cnt))
print("所有数据的和为:",sum)程序执行结果为:
请输入数值(输入0结束): 25
请输入数值(输入0结束): 2.5
请输入数值(输入0结束): 0
你一共输入了2个数值
所有数据的和为: 27.5

(2)通过键盘输入一个整数,求出该整数各位数字的和。

sum=0
n=eval(input("请输入一个整数: "))
while n>0:t=n%10sum+=tn=n//10
print(sum)程序执行结果为:
请输入一个整数: 1234
10
http://www.xdnf.cn/news/1186201.html

相关文章:

  • Leetcode力扣解题记录--第21题(合并链表)
  • C++ 常用的数据结构(适配器容量:栈、队列、优先队列)
  • [NPUCTF2020]ReadlezPHP
  • 基于深度学习的图像分类:使用Vision Transformer(ViT)实现高效分类
  • 【RDMA】Adapters PRM Mellanox Adapters Programmer’s Reference mellanox网卡编程手册0.52
  • Lua(数据库访问)
  • 【开发杂谈】用AI玩AI聊天游戏:使用 Electron 和 Python 开发大模型语音聊天软件
  • Web攻防-业务逻辑篇密码找回重定向目标响应包检验流程跳过回显泄露验证枚举
  • 前端核心进阶:从原理到手写Promise、防抖节流与深拷贝
  • OneCode3.0 Gallery 组件前后端映射机制:从注解配置到前端渲染的完整链路
  • [NLP]UPF+RTL联合仿真的VCS命令及UPF-aware 波形工具的使用
  • FPGA Verilog 入门语法指南
  • centos7安装docker命令
  • Scrapy
  • Qwen3-235B-A22B-Thinking-2507 - 开源思维推理模型的新标杆
  • 第二十天(正则表达式与功能实际运用)
  • VR 技术在污水处理领域的创新性应用探索​
  • STM32与ADS1220实现多通道数据采集的完整分析和源程序
  • 算法:数组part02: 209. 长度最小的子数组 +
  • SpringBoot整合Liquibase提升数据库变更的可控性、安全性、自动化程度(最详细)
  • 嵌入式学习-(李宏毅)机器学习(3)-day30
  • 图片查重从设计到实现(4)图片向量化存储-Milvus 单机版部署
  • Android悬浮窗导致其它应用黑屏问题解决办法
  • The Magic Mask for Android:解锁无限可能的安卓自定义套件
  • FT和RAG如何选择
  • win11 使用adb 获取安卓系统日志
  • freqtrade关于获取k线数量,以及显示时间的问题
  • C++中使用Essentia实现STFT/ISTFT
  • DNS 协议
  • 【unitrix】 6.15 “非零非负一“的整数类型(NonZeroNonMinusOne)特质(non_zero_non_minus_one.rs)