【Python】循环语句(while、for)、continue、break

2024-08-22 04:36

本文主要是介绍【Python】循环语句(while、for)、continue、break,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 条件语句
    • 什么是条件语句
    • 语法格式
    • 缩进和代码块
    • 空语句
    • 练习
      • 1. 输入一个整数,判断是否是奇数
      • 2. 输入一个整数,判断是正数还是负数
      • 3. 判断年份是否是闰年
  • 循环语句
    • while 循环
    • for 循环
    • 练习
      • 1. 打印 1-10 的整数
      • 2. 计算 1-100 的和
      • 3. 计算 5 的阶乘
      • 4. 求 1! + 2! + 3! + 4! + 5!
    • continue 和 break
      • 求若干个数的平均值

条件语句

什么是条件语句

条件语句能够表达 “如果 … 否则 …” 这样的语义. 这构成了计算机中基础的逻辑判定
条件语句也叫做分支语句,表示了接下来的逻辑可能有几种走向

如果,我认真敲代码,我就很容易找到工作;

  • 这是一个条件,如果条件成立,就会容易找到工作
    否则,我就容易毕业就失业
  • 条件不成立,就容易毕业就失业

条件语句,就是根据一个具体条件的成立与否,来决定接下来的逻辑走向

语法格式

Python 中使用 if else 关键字表示条件语句

(1)if

if expression: do_something1do_something2 
next_something
  • 如果 expression 值为 True, 则执行 do_something1, do_something2, next_something
  • 如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2

(2)if-else

if expression: do_something1
else: do_something2
  • 如果 expression 值为 True, 则执行 do_something1
  • 如果 expression 值为 False, 则执行 do_something2

(3)if - elif - else

if expression1: do_something1
elif expression2: do_something2
else: do_something3
  • 如果 expression1 值为 True, 则执行 do_something1
  • 如果 expression1 值为 False, 并且 expression2True 则执行 do_something2
  • 如果 expression1 值为 False, 并且 expression2False 则执行 do_something3

注意: Python 中的条件语句写法, 和很多编程语言不太一样

  • if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾
  • if / else 命中条件后要执行的 “语句块”, 使用缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
  • 对于多条件分支, 不是写作 else if, 而是 elif (合体了)

示例: 输入 1 表示愿意认真学习, 输入 2 表示躺平摆烂 `

choice = input('输入 1 表示认真学习,输入 2 表示躺平')  if choice == '1':  print(('你能找到工作'))  
elif choice == '2':  print('你废了')  
else:  print('输入错误')
  • 注意 ifelifelse 后面都有:

缩进和代码块

Python 中使用缩进表示代码块. 不同级别的缩进, 程序的执行效果是不同的

a = input('输入第一个整数:')  
b = input('输入第一个整数:')  if a == '1':  if b == '2':  print('aaa')  print('bbb')  
print('ccc')#运行结果
输入第一个整数:1
输入第一个整数:2
aaa
bbb
ccc
  • 两个条件都满足才会打印 aaa,因为打印 aaa 的语句有两级缩进,相当于是 if b == '2' 条件内部的代码块
  • 第一个条件满足,就会打印 bbb,因为打印 bbb 的语句只有一级缩进,相当于是 if a== '1' 条件内部的代码块
  • 两个条件即使都不满足,也能打印 ccc,因为打印 ccc 的语句,没有缩进,相当于和两个 if 都无关

当前有多级嵌套的时候,当前的雨具属于哪个代码块,完全取决于缩进的级别

空语句

pass 表示空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求.

a = int(input("请输入一个整数:"))
if a != 1: pass 
else:    print("hello")
  • 虽然希望条件满足的时候,什么都不做,但是由于 Python 对于语法格式,尤其是缩进和代码块要求较高,所以如果什么都不写,是不符合语法要求的,所以必须得写一个 pass 空语句来占位

练习

1. 输入一个整数,判断是否是奇数

a = int(input('输入一个整数'))  if a % 2 == 1:  print(f'{a} 是一个奇数')  
else:  print(f'{a} 不是一个奇数')
  • 这串代码在 C++/Java 是不太行的,因为在那边 -19 % 2 == -1,和 1 是不相等的。但在 Python 中,-19 % 2 == 1

2. 输入一个整数,判断是正数还是负数

a = int(input('输入一个整数'))  if a > 0:  print(f'{a} 是正数')  
elif a < 0:  print(f'{a} 是负数')  
else:  print(f'{a} 是 0')

3. 判断年份是否是闰年

每隔 4 年润一次;如果是世纪闰年,得看能否被 400 整除

year = int(input('输入一个年份'))  if year % 100 == 0:  # 世纪闰年的判定  if year % 400 == 0:  print('闰年')  else:  print('平年')  else:  # 普通闰年的判定  if year % 4 == 0:  print('闰年')  else:  print('平年')

循环语句

while 循环

基本语法格式:

while 条件:循环体
  • 条件为真,则执行循环体代码
  • 条件为假,则结束循环

for 循环

基本语法格式

for 循环变量 in 可迭代对象:循环体

注意:

  • pythonfor 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单
  • 所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”

练习

1. 打印 1-10 的整数

while 循环:

num = 1
while num <= 10:print(num)num += 1

包含

  1. 循环变量的初始值
  2. 循环变量的判定条件
  3. 循环变量的更新语句

for 循环:

for i in range(1, 11):print(i)
  • range 是一个内建函数,起到的效果就是得到一个“可迭代对象”,这个可迭代对象中就包含了一系列的整数
  • range(beg, end) ==> [beg, end)前闭后开区间

range 还提供了一个参数“步长”,默认的步长是 1
例如:打印 2,4,6,8,10

for i in range(2, 12, 2)print(i)

2. 计算 1-100 的和

while 循环:

sum = 0
num = 0
while num <= 100:sum = num + sumnum +=1
print(sum)

3. 计算 5 的阶乘

while 循环:

result = 1
n = 1
while n <= 5:result *= nn += 1
print(result)

4. 求 1! + 2! + 3! + 4! + 5!

while 循环:

num = 1
sum = 0
while num <= 5:# 先计算出 num! 是多少,往 sum 上进行累加factorResult = 1i = 1while i <= num:factorResult *= ii += 1sum += factorResult
print(sum) 

continue 和 break

continue:立即结束当前这次循环,进入下一次循环
break:立即结束整个循环

代码示例: 模拟吃包子. 吃第 3 个包子的时候吃出了一只虫.

for i in range(1, 6):  if i == 3:  continue  print(f'吃完第{i}个包子')
# 运行结果
吃完第1个包子
吃完第2个包子
吃完第4个包子
吃完第5个包子

代码示例: 模拟吃包子. 吃第 3 个包子的时候吃出了半只虫.(没胃口了)

for i in range(1, 6):  if i == 3:  break  print(f'吃完第{i}个包子')
# 运行结果
吃完第1个包子
吃完第2个包子

求若干个数的平均值

theSum = 0  
count = 0  
while True:  num = input('请输入一个数字:(分号表示输入结束)')  if num == ';':  break  num = float(num)  theSum += num  count +=1  print(f'平均值为{theSum/count}')# 运行结果
请输入一个数字:(分号表示输入结束)11
请输入一个数字:(分号表示输入结束)22
请输入一个数字:(分号表示输入结束)33
请输入一个数字:(分号表示输入结束);
平均值为22.0
  • 光看到 while True 不一定是死循环,关键是要看循环里有没有 break
  • theSum 表示加和的结果;count 表示有几个数字
  • 不能在输入 num 的时候就将 num 的类型转换为 float,不然你最后想结束循环,输入 ; 的时候会报错
  • 不能将 ; 直接输入到一个数字后面,不然也会报错

这篇关于【Python】循环语句(while、for)、continue、break的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095258

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre