运算符和语句

本文讲解了Python中的运算符、比较运算、逻辑运算,以及条件语句的使用,包括and、or、not的实例。随后介绍了for循环基础和列表解析,演示了字符串处理、数学计算和字典操作技巧。重点展示了如何通过链式赋值、条件判断和循环结构解决实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

运算符

算术运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

比较运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习1:在交互模式中创建两个内容一样的字符串,判断它们是否为同一个对象。

逻辑运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在Python中,认为如下对象都是“假的”(False):None和False,Decimal(0),Fraction(0,1),空序列和集合:’’,(),[],{},set(),range(0)。

1.and

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.or

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.not

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习2:以下表达式的返回值是True还是False?
在这里插入图片描述
等效于:
在这里插入图片描述
在这里插入图片描述
等效于:
在这里插入图片描述

简单语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里引入了math模块中的pow()、e、pi。pow()是乘方函数,e是欧拉数,是自然对数函数的底数,e=2.71828182845904523536、pi是π
在这里插入图片描述
这种引入方式最省事,一下将math中所有的函数都引用过来了。不过这种方式的结果是可读性更低了,仅适用于模块中的函数比较少的时候。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这是一种“链式赋值”方式,结果是m和n两个变量引用了同一个对象。
增量赋值:x = x + 1这样的表达式是不可思议的,但是在编程语言中它是成立的,因为“=”是“赋值”,即将变量x增加1后,再把得到的结果赋给变量x。+、-、*、/、%都可以实现类似操作。
在这里插入图片描述
在这里插入图片描述
练习3:在交互模式中,实现欧拉等式的计算,即e^iπ+1=0
在这里插入图片描述

条件语句

所谓条件语句,就是依据某个条件来执行指定的代码。Python中的条件语句使用"if"关键词,基本结构为:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
①发起条件判断,如果"“p” in s"返回的是True,就执行后面由②和③组成的语句块;否则不执行。由②和③组成的语句块,相对于左侧,缩进4个空格。
不同的编程语言,表示语句块的方式不同。Python利用缩进表示语句块。增加缩进表示语句块的开始,减少缩进表示语句块的结束。
如果只有if一个条件判断,有时候比较烦琐,常常需要有多个分支。比如,在①中,当字符“p”在字符串s中,就执行后续的语句块;如果不在呢?这段程序没有给出响应。
在这里插入图片描述
elif和else发起的分支是可选部分。
练习4:请判断用户的键盘输入,如果输入的都是数字,则把该数字扩大10倍,在打印结果;如果输入的是字符a~z,在其后面增加“@python”,再打印结果;其他情况则直接打印出来。
在这里插入图片描述
条件语句可以简写成“三元操作”,即:A = Y if X else Z。如果X为真,则执行A = Y。如果X为假,则执行A = Z。

for循环语句

for循环基础应用

for循环是针对可迭代对象的语句。
其基本语法结构和注意要点如下:
在这里插入图片描述
在这里插入图片描述
①在“for i in hello:”中,for是发起循环的关键词;“i in n”是循环规则。字符串类型的对象是序列类型,能够从左到右一个一个地按照顺序读出每个字符,于是变量i就从第一个字符开始,依次获得各字符的引用。
②当 i = "h"时,执行print(i),打印字母h;然后进入下次循环,i = “e”,执行print(i),打印出字母e…如此循环下去,一直到最后一个字符被打印出来,循环自动结束(for循环能够自动处理迭代对象循环结束后的异常)。

在内置对象类型中,可用于for循环的迭代对象包括字符串、列表、元组、字典、集合这些所谓的容器类对象,而数字不是可迭代对象。
在这里插入图片描述
在这里插入图片描述
试图以循环方式得到整数的各数字是行不通的。
在这里插入图片描述
这里同样使用了print(),并没有像前面所打印的对象那样各占一行。主要原因是参数end。
在这里插入图片描述
“k in d” 读取了字典的键(key),for循环的结果是依次得到字典d的所有键。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如何判断一个对象是否是可迭代的呢?
在这里插入图片描述
在这里插入图片描述
练习5:有列表lst = [‘anwang’, ‘microsoft’, ‘ibm’, ‘compaq’, ‘lenovo’, ‘dell’]
,请将列表中含有字母a的字符串挑选出来。
练习6:有一个元组,t = (3,6,1,0,2,4,6,0,8,10,7,4,0,2,0,10,6,2,4,1),统计元组中每个整数出现的次数。

优化循环的函数

1.range函数

使用help()查看帮助文档。
在这里插入图片描述
①创建的是一个range对象,通过②明确可知,这个对象也是可迭代对象。当没有对range对象进行循环的时候,里面的每个数字都没有被读入内存,所以无法显示里面的每个数字。如果想显示range对象内的所有数字,必须使用list()把它转化为列表,即将所有数字都读入内存,才能显示。
在这里插入图片描述
range()在循环中的一个重要作用是可以创建序列对象的索引。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习7:创建一个列表,其中的元素是100以内能够被3整除的正整数。
练习8:有两个列表:a = [1,2,3,4,5], b = [9,8,7,6,5], 要求计算这两个列表中对应元素的和。

2.zip函数

在这里插入图片描述
从以上示例可见,zip()的作用就是将两个可迭代对象的元素进行“配对”,即:将两个可迭代对象中的元素相对应地建立映射关系。
在这里插入图片描述
在这里插入图片描述
练习9:有字典myinfor = {“publish”:“phei”, “site”:“itdiffer.com”, “lang”:“python”},将这个字典变换成:infor = {“phei”:“publish”, “itdiffer.com”:“site”, “python”:“lang”}。

3.enumerate函数

练习10:使用random标准库,从1~10的整数中获取20个随机数,组成一个列表。然后将此列表中的偶数用字符串“even”替换。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
⑤中同时得到了每个元素的索引及其值,等效于③、④的作用。

列表解析

在这里插入图片描述
分解⑥的组成,即列表解析的写法。

在这里插入图片描述
练习11:有列表mybag = [‘glass ‘, ’ apple’, ’ green leaf’],注意观察列表的元素,有的字符串开头部分有空格,有的结尾部分有空格。要求将单词左右的空格去除。

在这里插入图片描述
在列表解析中,⑦增加了条件约束,其效果是“for 循环语句 + 条件语句”。同样的,还可以用列表解析解决例题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习12:有字符串s = “Life is short You need python”,要求显示字符串中每个单词的大写和小写两种形式,并同时显示该单词的长度。
练习13:利用练习10中所得到的列表,将列表中的偶数标记为"Even",奇数标记为"Odd"。
练习14:标准库中的random模块的函数randint()可以得到某范围内的一个随机整数。请使用这个函数,得到30个0~9之间的随机整数。

除了列表解析外,还有“集合解析”、“字典解析”
在这里插入图片描述
⑧中重复了10次,应该得到了10个随机整数。但是,因为是“集合解析”,集合中不能有重复元素,经过“去重”后,最后得到的集合中元素如上所示。
“字典解析”则可以如下操作:

在这里插入图片描述

while循环语句

在这里插入图片描述
通过下面示例理解while循环的基本应用。
在这里插入图片描述
①发起了while循环语句,“a<3”为True,则执行下面的语句块。如果执行了if语句下面的语句块,则会遇到②的break,它的功能是中断循环,并跳出循环体。
③是将前面设置的变量实现自增,允许用户“出错三次”,之后a=3,则①中的条件不再满足,即中止while循环。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
练习15:猜数游戏。功能要求:(1)随机生成一个100以内的正整数。(2)用户通过键盘输入数字,猜测生成的随机数。注意,用户的输入次数不进行限制。
在这里插入图片描述④用于生成一个100以内的随机整数。用户输入所猜测的数字后,要对用户的输入内容进行判断(用户的任何输入都是不可靠的),虽然下面的判断还比较简洁。
⑤判断输入是否为整数组成的字符串。
⑥判断输入的整数,是否是1~100的整数。
⑦以下的语句块是判断输入的数字和④所得到的数字的关系。如果相等,则意味着猜中,中止循环(break);否则提示是偏大还是偏小,并且允许用户再输入。

在某种条件下使用了break实现跳出循环的目的。此外,还有一个类似这样由一个关键词组成的语句continue,从当前位置(continue所在的位置)跳到循环体的最后一行的后面(不执行最后一行)。对一个循环体来讲,如果还是符合循环条件的,最后一行的后面是哪里呢?当然是开始了,如果不符合循环条件,就是跳出当前循环体了。
在这里插入图片描述
上述程序中,在while循环语句块内,当满足了a%5 == 0条件后,执行⑧,然后转到while循环的开始,不再继续向下执行⑨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

juicy-hua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值