首页 > Python资料 博客日记
【Python】循环语句(while、for)、continue、break
2024-09-22 04:00:05Python资料围观46次
文章【Python】循环语句(while、for)、continue、break分享给大家,欢迎收藏Python资料网,专注分享技术知识
文章目录
条件语句
什么是条件语句
条件语句能够表达 “如果 … 否则 …” 这样的语义. 这构成了计算机中基础的逻辑判定
条件语句也叫做分支语句,表示了接下来的逻辑可能有几种走向
如果,我认真敲代码,我就很容易找到工作;
- 这是一个条件,如果条件成立,就会容易找到工作
否则,我就容易毕业就失业 - 条件不成立,就容易毕业就失业
条件语句,就是根据一个具体条件的成立与否,来决定接下来的逻辑走向
语法格式
Python
中使用 if
else
关键字表示条件语句
(1)if
if expression:
do_something1
do_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
, 并且expression2
为True
则执行do_something2
- 如果
expression1
值为False
, 并且expression2
为False
则执行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('输入错误')
- 注意
if
、elif
和else
后面都有:
缩进和代码块
在 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 可迭代对象:
循环体
注意:
python
的for
和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单- 所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”
练习
1. 打印 1-10 的整数
while
循环:
num = 1
while num <= 10:
print(num)
num += 1
包含:
- 循环变量的初始值
- 循环变量的判定条件
- 循环变量的更新语句
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 + sum
num +=1
print(sum)
3. 计算 5 的阶乘
while
循环:
result = 1
n = 1
while n <= 5:
result *= n
n += 1
print(result)
4. 求 1! + 2! + 3! + 4! + 5!
while
循环:
num = 1
sum = 0
while num <= 5:
# 先计算出 num! 是多少,往 sum 上进行累加
factorResult = 1
i = 1
while i <= num:
factorResult *= i
i += 1
sum += 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
,不然你最后想结束循环,输入;
的时候会报错 - 不能将
;
直接输入到一个数字后面,不然也会报错
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj