昨天刚想着能不能下雨,今天早晨雨就来了,等到中午已是晴空万里,上午上网课的时候因为有点潲雨而去关窗户的时候才发现:)我前几天从废旧主机上拆下来后放在窗台的硬盘被雨淋了一上午,但愿它干了以后还能用:)
昨天给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再给写一遍,然后再过两天也该实践一下了,一天天光看理论知识一点意思也没:
之前得到小道消息:4月31号开学/斜眼笑,吓得我,赶紧放慢了更新的脚步,以充分准备开学测试/斜眼笑
如果5月31开学就好了,调车实在是太痛苦了,嗯?13578…
有没有哪个大佬愿意帮我调调车改改算法啊QAQ