Python教学:6. 判断


好像教程的顺序有点乱,不管了,
开课!

6.1 引言

我们在程序设计的时候,难免会遇到需要作出判断的时候。比如说判断一个数是否是偶数,以及进阶一点,判断数组下标是否越界等。


6.2 if语句

首先就是祖师爷if语句了,它的语法非常简单:

if 条件:
	操作

如果 条件 为True,就执行 操作 里的代码,反之则不执行。

拿个例子给你们看看吧:

num = 246
if num % 2 == 0:  
    print(num, "是偶数")  
# 123 不是偶数

if行末尾的冒号告诉解释器:下面是一个代码块。也就是说,凡是与if后面第一条代码缩进相同的,都是同一个代码块的代码。

接下来看看缩进吧——


6.2.1 缩进

在有些编程语言(比如C++)中,缩进不是必要的,只是一种风格,程序员也可以不缩进,但是会大大降低代码的可读性。不过,在Python中,缩进是必须的,它会告诉解释器代码块的开始与结束。

不过,缩进多少字符并不重要,只需保证整个代码块缩进的程度一样就行了。现在一般是缩进4个空格,你要是想只缩进3个空格或者缩进到5个空格都没问题。


6.2.2 比较运算符

如果判断是否小于,则要使用<符号,小于等于就是<=,大于和大于等于同理。但是,判断是否等于需要两个等于号==,否则解释器会以为你在给某个东西赋值,从而导致 报错

需要当心的是,不是每个语言判断是否相等都是使用==的,比如WPS亲儿子VBA,它用的运算符与赋值时的运算符一样都是=


6.2.3 继续判断

如果判断的结果为假,想要继续判断的,可以使用elif关键字。

score = 85
if score >= 90:
	print("A")
elif score >= 80:
	print("B")
elif score < 80:
	print("C")
# B

6.2.4 如果判断结果为假

如果if语句中的条件为假则执行某些语句需要使用else关键字。很好理解,像这样:

score = 75
if score >= 80:
	print("良好")
else:
	print("加油")
# 加油

6.2.5 嵌套

当然,if是可以嵌套的:

n= 97
if n > 90:
	if n < 100:
		print(1)
# 1

这上面的代码可以用一个新的关键字and改写。

n = 97
if n > 90 and n < 100:
	print(1)
# 1

从上面可以看出,and的工作方式1是:只要两边有一个是假,那么结果就是假,如果都是真,则为真。

实际上,上面的代码还可以用一种更高级的比较方法替代:链式比较。

n = 97
if 90 < n < 100:
	print(1)
# 1

是不是简洁多了呢?关于逻辑运算的关键字,还有一个与and类似的关键字:or

or的工作方式1则与and相反:只要左右两边有一个是真,结果为真,如果全是假,结果就是假。这里不再赘述了。


6.3 match-case

这个东西是Python 3.10版本被正式加入的,主要是判断是否相等,与C++的switch-case基本一样:

status = int(input())
match status: # match 一定不能少!
	case 200: # 等价于 if case == 200:
		print("OK")
	case 404:
		print("Not Found")
	case _: # 这个相当于 else
		print("Unknown")

至于语法与含义,我在注释里面写清楚了,你们看一看就懂了。

好了,if与match-case都讲完了,同学们,
下课!


  1. and和or还各有一个更进阶的用法,参见我洛谷写的东西↩︎ ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值