Shallow Dream

Keep It Simple and Stupid!

0%

第五章_if语句

不赘述,仅仅记录一些和 C 不同  易混淆  我认为重要的地方

不懂的请使用搜索引擎  看书  询问老师解决  问我(不嫌弃的话

推荐网站:菜鸟教程 https://www.runoob.com/python3/python3-tutorial.html

内容参考:《Python编程 从入门到实践》(第二版)

简单示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 格式
if 判断条件: # 没有括号
进行的操作
elif 判断条件: # 对C的else if的简化写法elif(还有点不适应..
进行的操作
else: # 每个后面都有 :
进行的操作
# 可以没有elif部分 或者 else部分,但一定是if开头

a = 123 # = 赋值
if a == 123: # == 判断是否相等
print("yes")
else:
print("no")
------
Output:
yes

比较

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 这里的比较是严格匹配的
num = 1.00000000001
if num == 1:
print("yes")
else:
print("no")
------
Output:
no

name = 'Ekko'
if name == 'ekko': # 如果想要无视大小写比较,灵活运用.upper() .title() .lower()就好
print("yes")
else:
print("no")
------
Output:
no

运算符

1
2
3
4
5
6
7
8
# 当然不止判断相等
== # 相等
!= # 不相等
< # 小于
> # 大于
<= # 小于等于
>= # 大于等于
... # 还有些可以自己查一下

检查多个条件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# and 和 or,就是字面意思啊
## and 两边需要同时满足
## or 只需要满足一条
1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0

1 or 1 = 1
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0

num = 12
if num <= 20 and num >= 0: # 就是C把 && 换成了 and
print("yes")
else:
print("no")
------
Output:
yes

但其实...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 我本来以为他和C/C++一样,范围要拆开写,但我简单试了几个样例
num = 1
if 20 >= num <= 0:
print("yes")
else:
print("no")
------
Output:
no

num = -20
if 20 >= num <= 0:
print("yes")
else:
print("no")
------
Output:
yes

num = 100
if 0 <= num <= 20:
print("yes")
else:
print("no")
------
Output:
no
# Python可以像数学那样写范围(不愧是Python,轻松做到了C/C++做不到的事情

测试多个条件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
homework = ['math','C','python','English']
if 'math' in homework:
print(f"别玩了快写{homework[0]}!" )
if 'C' in homework:
print(f"别玩了快写{homework[1]}!" )
if 'python' in homework:
print(f"别玩了快写{homework[2]}!" )
if 'English' in homework:
print(f"别玩了快写{homework[3]}!" )
------
Output:
别玩了快写math!
别玩了快写C!
别玩了快写python!
别玩了快写English!

关于if...if...if和if-elif-else

1
2
3
4
5
6
7
8
9
10
# 对于上面的代码
# 要用到多个if并列进行而不是if-elif-else
# 其实分不清可以直接用中文读出来,你可以发现差异的
if...: # 如果balabala,如果balabala,如果balabala
if...: # 每一个如果都是一个新的判断
if...:
# 但是
if...: # 如果balabala,否则如果balabala,否则balabala
elif...: # 这种一旦满足条件就会执行操作,然后退出当前判断
else:

用之前学过的东西完善一下那个写作业的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
homework = ['math','C','python','English']	#要写的作业
finish_work = ['C','English'] # 写完的在这里手动添加
for home in homework:
if home in finish_work:
print(f"编完了")
else:
print(f"快写{home}")
------
Output:
快写math
编完了
快写python
编完了
# 后面学的多了可以继续完善它

if语句的格式

1
2
3
4
5
6
7
8
# 主要是为了好看(代码洁癖)
if things_name < 100: # 比较运算符两边加个空格好看
if things_name<100: # 不加空格,这样是不太建议的(丑
if things_name < 100: # 不对称的加空格,这样也是不太建议的(丑
if things_name <100 # 没有分寸的加空格(丑的都对不齐了
# 当然他们都是能正常运行的
# 但是为了您和他人的愉悦心情
# 这里建议以第一种为标准呢
end?