Python4-分支与循环

记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化

python基础3-分支与循环语句

    • python中 有哪些基本值是被当作true或者false的呢?
      • if语句示例
        • 被视为 False 的情况
        • 被视为 True 的情况
      • while语句示例
        • 这个循环不会执行,因为空字符串在Python中被视为False
    • range()函数
    • for循环
      • contiune
      • break
      • pass
    • while循环
      • continue
      • break
      • pass
    • 实践是检验真理的唯一标准


python中 有哪些基本值是被当作true或者false的呢?

在Python中,以下值被视为 False:

False —— 布尔假值。
None —— 空值。
0, 0.0 —— 数值00.0[], (), {} —— 空的列表、元组和字典。
'' —— 空字符串。
b'' —— 空的字节字符串。
set() —— 空集合。
除了上述值以外,其他所有值都被视为 True,包括但不限于:True —— 布尔真值。
任何非空的字符串,例如 "hello""0""False"。
任何非零的数值,例如 13.14-2。
任何非空的列表、元组、字典、集合、字节字符串等,例如 [1](1,){"key": "value"}{1, 2, 3}b'hello'。
任何自定义对象的实例,除非该类的 __bool__() 或 __len__() 方法返回了 False0

if语句示例

被视为 False 的情况
if not True:print("This won't be printed.")if []:  # 空列表print("This won't be printed.")if 0:  # 零值print("This won't be printed.")
被视为 True 的情况
if True:print("This will be printed.")if "hello":  # 非空字符串print("This will be printed.")if [1, 2, 3]:  # 非空列表print("This will be printed.")if 1:  # 非零值print("This will be printed.")

while语句示例

x = 0
while x == 0:print("Looping until x is no longer 0")x = x + 1
这个循环不会执行,因为空字符串在Python中被视为False
continue_loop = ''
while continue_loop:print("This won't be printed.")break  # 需要显式的break来退出循环,因为循环条件始终为False

range()函数

class range(start, stop[, step])

开始
start
start 形参的值 (如果该形参未提供则为 0)
结束
stop
stop 形参的值
步长
step
step 形参的值 (如果该形参未提供则为 1)
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for i, j in zip(range(len(list1)), list2):print(f"Index {i}: {j}")

for循环

contiune

使用 continue 跳过某些迭代

for i in range(1, 10):if i % 2 == 0:continue  # 跳过偶数print(i)

打印1到9之间的所有奇数,因为当i为偶数时,continue语句会跳过当前迭代。

break

使用 break 退出循环

for i in range(1, 10):if i == 5:break  # 当 i 等于 5 时退出循环print(i)

在打印数字1到4后退出循环,因为当i等于5时,break语句会立即终止循环。

pass

使用 pass 作为占位符

for i in range(3):if i == 1:pass  # 这里什么也不做else:print(i)

会打印0和2,因为当i等于1时,pass语句什么也不做,所以只有i不等于1时才会执行print语句。

while循环

continue

这段代码会打印1到9之间的所有奇数,因为当i为偶数时,continue语句会跳过当前迭代。

i = 1
while i < 10:if i % 2 == 0:i += 1continue  # 跳过偶数print(i)i += 1

break

i = 1
while i < 10:if i == 5:break  # 当 i 等于 5 时退出循环print(i)i += 1

这段代码会打印1到4的数字,然后退出循环,因为当i等于5时,break语句会终止循环。

pass

while True:
pass # 这是一个无限循环,什么也不做
实践如下:

  #if选择语句
a=-11
#嵌套if
if a>100:print('yes')
#只进入一个分支,也即是相同条件不能出现,会出现问题
elif a>=100:#这里是有问题的print('no')
else:if a>10:print('yes')elif a==0:print('no')else:print('negaticve')
#while 循环语句
b=10
#不太明确次数就用whil
# 如果知道明确次数,则用for循环
while b:print(b)b-=1
#死循环
'''c=-10
while c:print(c)c-=1'''
print('-----------------')
# for循环,遍历元素
for i in [1,2,3,]:print(i)
print('-----------------')
#for特点,每次都是驱动执行一次,range(x,y),从0开始
for i in range(3):print(i)
print('-----------------')
for i in range(10,1,-1):print(i)
#计算10以内的奇数,可以取模,也可以直接移位
for i in range(10):if i%2 == 1:print('奇数:',i)else:print('偶数:',i)
print('---------------')
# 取偶数
# range(start,end,step)step步长
for i in range(0,10,2):print("取偶数:",i)
#取奇数
for i in range(1,10,2):print("取奇数:",i)
## 无实际意义,没有迭代值for i in range(-1):print(i)
#计算2^0-2^10
for i in range(11):print(pow(2,i))
print('----------------')
# 倒序打印10以内的奇数
for i in range(9,0,-2):print(i)
print('*****************')
for i in range(10):if i%2 == 1:print(i)
print('----------------')
# 倒序打印10以内的偶数
for i in range(8,-1,-2):print(i)
print('*****************')
for i in range(10):if i%2 == 0:print(i)
print('++++++++++++++++++')
#循环中contiune break pass关键词
#contiune:跳出本次循环,进行下次循环
for i in range(0,10):if i%2:continueprint(i)
else:print("不用跳出的循环")
#break:终止本次(最近的)循环,解释本次循环
for i in range(1,10):print(i)if i==5:break
print('++++++++++++++++++')
#pass 占位符,不做任何操作
#计算1000以内被7整除的前20个正整数
count=0
for i in range(7,1000,7):count +=1print(i)if(count==20):break#终止当前循环,countinue跳出本次循环,进行下次循环,pass
print('计数器:',count)
#注意点:for没有被break终止,则可以执行后续的else子句,条件是tange(0)也可以执行else子句
for i in range(0):if():print(i)#这里的else已经不是和if对应的,是单独的,看缩进
else:print("谢谢谢谢")
print('&&&&&&&&&&&&&&&&&&&&')
#字符串拼接
print(str(1)+','+'abc')
print(type("{}-{}".format(1,'a')))
wd1=100
wd2='abc'
print(f'{wd1}-{wd2}')
print(type(f'{wd1}-{wd2}'))
# 在循环中常用range()函数
print('^^^^^^^^^^^^^^^^^^^^^^^^')
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for i, j in zip(range(len(list1)), list2):print(f"Index {i}: {j}")
#顺序语句,从上至下,这个没什么好说的。

终端回显如下:

F:\anaconda\python.exe E:\py_dwtest\分支循环语句.py 
negaticve
10
9
8
7
6
5
4
3
2
1
-----------------
1
2
3
-----------------
0
1
2
-----------------
10
9
8
7
6
5
4
3
2
偶数: 0
奇数: 1
偶数: 2
奇数: 3
偶数: 4
奇数: 5
偶数: 6
奇数: 7
偶数: 8
奇数: 9
---------------
取偶数: 0
取偶数: 2
取偶数: 4
取偶数: 6
取偶数: 8
取奇数: 1
取奇数: 3
取奇数: 5
取奇数: 7
取奇数: 9
1
2
4
8
16
32
64
128
256
512
1024
----------------
9
7
5
3
1
*****************
1
3
5
7
9
----------------
8
6
4
2
0
*****************
0
2
4
6
8
++++++++++++++++++
0
2
4
6
8
不用跳出的循环
1
2
3
4
5
++++++++++++++++++
7
14
21
28
35
42
49
56
63
70
77
84
91
98
105
112
119
126
133
140
计数器: 20
谢谢谢谢
&&&&&&&&&&&&&&&&&&&&
1,abc
<class 'str'>
100-abc
<class 'str'>
^^^^^^^^^^^^^^^^^^^^^^^^
Index 0: a
Index 1: b
Index 2: cProcess finished with exit code 0

目前学到都是一些基础,下次分享写学完顺序、循环、选择等后写一些小作业,该说不说

实践是检验真理的唯一标准

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

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

相关文章

SAP-ABAP开发学习-面向对象OOALV(1)

本文目录 一、概述 面向对象开发特点 二、类与对象 程序中类的创建 Class构成要素 对象 方法 一、概述 随着SAP R/3 4.0版本的开发&#xff0c;ABAP语言开始引入了面向对象的开发概念。这在ABAP语言的发展过程中&#xff0c;面向对象&#xff08;Object-oriented&#…

【实用技能】如何在 .NET C# 中的邮件合并过程中操作表格单元格

TX Text Control 中的邮件合并 类是一个强大的库&#xff0c;旨在通过将数据合并到模板中来自动创建文档。它充当结构化数据&#xff08;例如来自数据库、JSON 或 XML&#xff09;和动态文档生成之间的桥梁&#xff0c;对于需要自动化文档工作流程的应用程序来说非常有用。 TX…

有源模拟滤波器的快速设计

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时&#xff0c;也能帮助其他需要参考的朋友。如有谬误&#xff0c;欢迎大家进行指正。 一、概述 几乎所有电子电路中都能看到有源模拟滤波器的身影。音频系统使用滤波器进行频带限制和平衡。通信系统设计使用滤波…

如何使用Python库连接Redis

1、redis-py 库封装一个 Redis 工具类可以帮助我们简化 Redis 的操作并提高代码的复用性和可维护性。 安装redis pip install redisimport redis import logginglogging.basicConfig(levellogging.INFO) logger logging.getLogger(__name__)class RedisUtils:def __init__(s…

【代码随想录day57】【C++复健】 53. 寻宝(prim算法);53. 寻宝(kruskal算法)

53. 寻宝&#xff08;prim算法&#xff09; 好像在研究生的算法课上学过prim算法和kruskal算法&#xff0c;不过当时只是了解了一下大致的概念和流程&#xff0c;并没有涉及到如何去写代码的部分&#xff0c;今天也算是学习了一下这两个算法的代码应该如何去实现&#xff0c;还…

使用OpenTK展示3D点云图像(C#)

最近在研究3D显示&#xff0c;找到一款在winform上展示3D点云的控件&#xff0c;并且实现了点线面的展示&#xff0c;及光照渲染纹理贴图等功能&#xff0c;如下面几张图所展示。 一些基础知识可以在LearnOpenTK - OpenTK 这个网站上学习到。 我这边使用的是openTK3.3.3版本&a…

MetaGPT源码 (Memory 类)

目录 MetaGPT源码&#xff1a;Memory 类例子 MetaGPT源码&#xff1a;Memory 类 这段代码定义了一个名为 Memory 的类&#xff0c;用于存储和管理消息(Message)对象。Memory 提供了多种操作消息的功能&#xff0c;包括添加单条或批量消息、按角色或内容筛选消息、删除最新消息…

pythonOpenCV篇:0基础带你python入门之常用函数

① 二值化函数 功能&#xff1a;将图像转换为二值图像&#xff08;黑白图像&#xff09;&#xff0c;将像素值分为两种类别&#xff1a;前景&#xff08;白&#xff09;和背景&#xff08;黑&#xff09;。函数&#xff1a;cv2.threshold()参数&#xff1a; src&#xff1a;输…

小发现,如何高级的顺序输出,逆序输出整数的每一位(栈,队列)

当我还是初学者的时候&#xff0c;我经常思考有没有比慢慢求每一位数字然后考虑正序&#xff0c;逆序输出要快的办法...长期琢磨&#xff0c;必有所获&#xff01; 我刚学数据结构的时候还没意识到栈&#xff0c;队列还能这样用&#xff0c;虽然说有点杀鸡用牛刀的感觉&#x…

详细解析RNNoise:基于深度学习的语音噪声抑制技术

引言 在语音通信、语音识别以及音频处理领域&#xff0c;噪声抑制是一个至关重要的任务。环境噪声&#xff0c;如风声、交通声和人群声&#xff0c;通常会影响语音的清晰度和质量&#xff0c;特别是在远程通信和在线会议中。为了提高语音质量&#xff0c;许多噪声抑制技术应运…

【笔记】架构上篇Day6 法则四:为什么要顺应技术的生命周期?

法则四&#xff1a;为什么要顺应技术的生命周期&#xff1f; 简介&#xff1a;包含模块一 架构师的六大生存法则-法则四&#xff1a;为什么要顺应技术的生命周期&#xff1f;&法则四&#xff1a;架构设计中怎么判断和利用技术趋势&#xff1f; 2024-08-29 17:30:07 你好&am…

跟李笑来学美式俚语(Most Common American Idioms): Part 66

Most Common American Idioms: Part 66 前言 本文是学习李笑来的Most Common American Idioms这本书的学习笔记&#xff0c;自用。 Github仓库链接&#xff1a;https://github.com/xiaolai/most-common-american-idioms 使用方法: 直接下载下来&#xff08;或者clone到本地…

【Sentinel Go】新手指南、流量控制、熔断降级和并发隔离控制

随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开…

代码随想录第43天

300.最长递增子序列 # Dynamic programming. class Solution:def lengthOfLIS(self, nums: List[int]) -> int:if not nums: return 0dp [1] * len(nums)for i in range(len(nums)):for j in range(i):if nums[j] < nums[i]: # 如果要求非严格递增&#xff0c;将此行 …

Anaconda Conda Pip 的区别与联系

在Python生态中,Anaconda、Conda和Pip是三个非常重要的工具,它们在包管理和环境管理方面发挥着关键作用。 Anaconda Anaconda是一个为科学计算而设计的Python发行版,它集成了Conda、Python以及大量的数据科学相关库,如NumPy、Pandas等。Anaconda的主要优势在于它提供了一个…

Y3编辑器官方文档1:编辑器简介及菜单栏详解(文件、编辑、窗口、细节、调试)

文章目录 一、新建项目二、 编辑器主界面2.1 游戏场景2.2 导航栏/菜单栏2.3 功能栏三、菜单栏详细介绍3.1 文件3.1.1 版本管理3.1.2 项目管理(多关卡)3.1.2.1 多关卡功能说明3.1.2.2 关卡切换与关卡存档3.2 编辑3.2.1 通用设置3.2.2 键位设置3.3 窗口(日志)3.4 细节3.4.1 语言…

OpenCV相机标定与3D重建(16)将点从齐次坐标转换为非齐次坐标函数convertPointsFromHomogeneous()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::convertPointsFromHomogeneous 是 OpenCV 库中的一个函数&#xff0c;用于将点从齐次坐标&#xff08;homogeneous coordinates&#xff09;…

前端视角下的Go语法学习:创建 Go 项目

今日话题 使用 GoLand 创建 Go 项目 作者&#xff1a; 时间&#xff1a;2024年6月20日 17时16分14秒 主线任务 一、GoLand 创建项目 1、点击 “new Project” 按钮 2、已经有下载过两个 Golang SDK 版本&#xff0c;选择版本创建即可~ 3、如果没有下载过Golang SDK&#…

vue3使用keep-alive做缓存

暂未整理&#xff0c;等待更新 文章目录 一、注意项1.不生效原因 二、使用步骤1.引入库2.读入数据 总结 一、注意项 1.不生效原因 vue3无beforeRouteEnter&#xff0c;但可以写。<script lang"jsx">需要一致:include"[‘experienceMaintenance’, ‘rea…

Android13应用在后台录音无声音

最近在做项目&#xff0c;对讲应用放在后台&#xff0c;录音无声音&#xff0c;最后解决。 一 现象 对讲应用运行在后台&#xff0c;录音无效查看日志&#xff0c;AudioRecorder录音回调全是0&#xff1b;状态栏无通知&#xff0c;无申请通知权限。 二解决 看了现象应该能够…