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

python控制语句-2.1

目录

while循环

while循环练习-1

while 循环 - break 语法

while 循环 - continue 语法

while 循环 - else 语法

while循环练习-2


while循环

while循环练习-1
 求1到n的交错和输入正整数 n,求 1 到 n 的交错和:即 -1+2-3+4-5+6-7+...+((-1)^n)*n
n = eval(input()) # 定义一个输入
def alternating_sum(n): # 定义一个函数,名为alternating_sum(交错和)result = 0 # 定义一个为0的初始值for i in range(1, n + 1): # 定义一个for循环,从1到n+1result += (-1) ** i * i #'''(-1) ** i 的作用是根据当前的 i 值(即循环变量)交替产生正负号。当 i 是奇数时,(-1) ** i 结果为 -1,使得相应的 i 被减去;当 i 是偶数时,(-1) ** i 结果为 1,使得相应的 i 被加上。'''return result
print(alternating_sum(n)) # 打印函数

while 循环 - break 语法

Python break 语句,就像在C语言中,跳出了 break 语句所处的 while 循环。

break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全递归完,也会停止执行循环语句。

如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。其语法示例如下,在下面的例子中我们的程序将在循环到字符 'a''s' 时终止循环并输出前一个字符:

str = 'bash_and_shell'
i = 0
while i < len(str):letter = str[i]if letter == 'a' or letter == 's':breaki += 1
print(letter)输出:
a

while 循环 - continue 语法

循环控制语句改变执行的正常顺序。当执行离开一个作用域时,在该作用域中创建的所有自动对象将被销毁。

Python 支持 continue 控制语句:它将控制返回到循环的开始,或者说是可以结束某一次的循环直接跳到执行下一次的循环。

在下面的例子中,我们通过 continue 跳过了对字符串中所有 'h''a' 的输出。

str = 'bash_shell_easy'
i = 0
while i < len(str):letter = str[i]i += 1if letter == 'a' or letter == 'h':continueprint(letter) # 除了a和h,其他的都会输出!输出:
b
s
_
s
e
l
l
_
e
s
y

while 循环 - else 语法

while 循环中使用 else 语句。正如上面所讨论的,while 循环执行块,直到一个条件得到满足。当条件变为 false 时,循环后面的语句就会被执行。

类似于条件判断语句 if else, 只有当你的 while 条件变为 false 时,else 子句才会被执行。如果你跳出了循环,或者出现了异常,它就不会被执行。其语法如下:

while condition:else:
num = 0
while (num < 3):num += 1print("Hello 帅哥")
else:print("hello 美女")

单语句 while 块,就像 if 块一样,如果 while 块由单个语句组成,我们可以在一行中声明整个循环,如下所示:

count = 0
while (count == 0): print("Hello World")

注意:建议不要使用这种类型的循环,因为它是一个永无止境的无限循环,条件始终是真实的,你必须强制终止编译器。


while循环练习-2
找到第一个平方大于 n 的整数描述
输入正整数 n,请你输出第一个平方大于 n 的整数。
n = eval(input())
i = 1
while i**2 <= n:i += 1
result = i
print(result)

相关文章:

  • 【算法】一类支持向量机OC-SVM
  • prometheus 原理(架构,promql表达式,描点原理)
  • Android耗电分析之Battery Historian工具使用
  • mysql中insert … select锁范围
  • 如何解决由触发器导致 MySQL 内存溢出?
  • 在文件夹下快速创建vue项目搭建vue框架详细步骤
  • uniapp swiper设置高度以及切换时滚动条回到顶部,下滑加载
  • 如何解决浏览器兼容问题2.0
  • 搜狐新闻Hybrid AI引擎端侧离线大语言模型探索
  • 数据结构小记【Python/C++版】——散列表篇
  • 《Ubuntu20.04环境下的ROS进阶学习0》
  • ​如何防止网络攻击?
  • Java中 图的基础知识介绍
  • 【 React 】对React中类组件和函数组件的理解?有什么区别?
  • 【Linux】文件系统和软硬链接
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Bootstrap JS插件Alert源码分析
  • download使用浅析
  • Invalidate和postInvalidate的区别
  • iOS编译提示和导航提示
  • Java方法详解
  • PV统计优化设计
  • React组件设计模式(一)
  • Redux系列x:源码分析
  • vagrant 添加本地 box 安装 laravel homestead
  • 阿里云应用高可用服务公测发布
  • 产品三维模型在线预览
  • 从零开始的无人驾驶 1
  • 对超线程几个不同角度的解释
  • 类orAPI - 收藏集 - 掘金
  • 理清楚Vue的结构
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 带你开发类似Pokemon Go的AR游戏
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #微信小程序(布局、渲染层基础知识)
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (3) cmake编译多个cpp文件
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (十) 初识 Docker file
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (杂交版)植物大战僵尸
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • ./和../以及/和~之间的区别
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .Net OpenCVSharp生成灰度图和二值图
  • .net 流——流的类型体系简单介绍
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .net反编译的九款神器