第四天学Python:IF语句(2)+运算符(2)

昨天刚想着能不能下雨,今天早晨雨就来了,等到中午已是晴空万里,上午上网课的时候因为有点潲雨而去关窗户的时候才发现:)我前几天从废旧主机上拆下来后放在窗台的硬盘被雨淋了一上午,但愿它干了以后还能用:)

昨天给IF语句开了个头,又讲了一点缩进的内容,今天就接着上一次的内容,仔细说一下IF语句的事。
这是一种最普通的写法

if a>b:
	print("a")
else:
	print("b")

为了简洁,它还可以这么写:(真放到前面)

print("a") if a>b else print("b")

这样写就不需要加冒号了
在这里插入图片描述
除了这种简洁写法,还有其他的也不细说了。
另一个用法就是嵌套,大家一看就懂/斜眼笑。

if x>y:
	if   y>z:
	else:
else:

一定要注意缩进,原先有一个写好的示例程序总是运行到一个地方就卡死,怎么也找不到哪里出错了,又不报错,后来分段测才发现,这个地方的缩进不对:),反正我是没想到我会把最基本的缩进弄错了:)
还是太菜了TAT
在这里插入图片描述

IF语句肯定不会只能用>=<这种比较运算符,类似的,还能结合成员运算符(in/not in)、逻辑运算符(布尔与或非)、身份运算符(is/not is)等等等等。

  • 成员运算符 in/not in

顾名思义,就是判断“x”是否为“XXXX”的一员,返回值是"True"和"False"
在这里插入图片描述
这里面的"list"是一个列表,列表是非常常用的Python数据类型,列表的数据项不需要具有相同的类型,以后会细说。

  • 身份运算符

身份运算符用于比较两个对象的存储单元,实际上是类似于判断是否id(a) == id(y)

a, b, c, d = 10, 10, 10.0, 20

在这里插入图片描述

  • 逻辑运算符 and / or / not

逻辑运算符还是有点说道的,与或非的意思很简单,而他们的优先级,可以根据以下几个例子提现出来

a = 0;b = 1
c = 1;d = 1
if not((a and b)or(c and d)):
	print(1)
else:
	print(0)

输出是0
而下面的例子里如果把not的括号去掉

if not(a and b)or(c and d):
	print(1)
else:
	print(0)

输出则是1
(a=1;b=2;c=3;d=4,可以试试a and b and c and d输出的是什么,or同理)

在逻辑运算中,有个比较重要的一点就是逻辑短路,直白点说就是只要能确定结果,就会立刻停止运算,先看现象:
(def是定义函数的意思,就和void一样)

def A():
	print("A")
	return 0
def B():
	print("B")
	return 0
def C():
	print("C")
	return 1
if A() and B() and C():
	print("over")

可是运行结果:
在这里插入图片描述
只输出了一个A,这是因为在 A() and B() and C()中,A()是假,而and语句的原则是一假则假,所以当检测到第一个假的时候,程序就会直接结束,剩下的的则不会运行。
or也是同理
在这里插入图片描述
而换成or以后会输出over是因为这个判别式是真的,所以就会执行print(“over”)这句话。
今天在这里只是提一句,以后如果说到函数的话会单独拿出来说这个的。

今天就更到这吧,今天讲得也不多,就一个重要一点的内容还被我挖了个坑233333,如果可以的话明天我比较想把while和for一起说了,最后再把我第一次学编程的时候写的第一个算法——冒泡法用Python再给写一遍,然后再过两天也该实践一下了,一天天光看理论知识一点意思也没:在这里插入图片描述

  1. 简洁写法1
  2. 嵌套
  3. 成员运算符
  4. 身份运算符
  5. 逻辑运算符——逻辑短路

之前得到小道消息:4月31号开学/斜眼笑,吓得我,赶紧放慢了更新的脚步,以充分准备开学测试/斜眼笑
如果5月31开学就好了,调车实在是太痛苦了,嗯?13578…
有没有哪个大佬愿意帮我调调车改改算法啊QAQ
在这里插入图片描述

原创文章 23 获赞 103 访问量 2697

猜你喜欢

转载自blog.csdn.net/k_ksy/article/details/105629969