If 条件语句

在编程中,我们经常会让计算机根据一定的条件做判断:如果符合条件,就做某些事情;而不符合条件的,可能会做另一些事情。这就像我们在日常生活中所做的决定一样。比如“如果今天下雨,就带伞;否则,就不用带伞”。

条件的真与假

在这里,今天下雨”是一个条件。如果今天下雨了,我们称这个条件成立,它是一个真条件;如果今天没有下雨,这个条件不成立,它就是一个假条件。

在 Python 语言中,常用两个特殊的量 —— TrueFalse 分别对应条件的真与假。当 Python 程序对条件判断为真时,其得到一个 True 值,否则得到一个 False 值。例如:

print(5 > 3) # 输出 True
print(2 == 3) # 输出 False

比较运算符

在了解 TrueFalse 的概念后,我们还要知道另一个编程基本知识。在程序中,我们常需要判定的条件是两个量之间的大小关系,这种条件的真假判断可以用比较运算符来实现。例如:

a, b = 1, 2
print(a == b) # False,因为1不等于2
print(a < b) # True,因为1小于2

这里,我们使用比较运算符“相等”(==,两个等号)来比较两侧的量是否相等,若相等则得到 True,否则得到 False。上面的语句中,a == b 得到的结果为 False

注意,这里相等运算符使用两个等号,这是为了与赋值运算符(一个等号)区分开来。 除了相等外,比较运算符还有:大于( > )、小于( < )、大于等于( >= )、小于等于( <= )、 不等于( != )等。需要注意的是,数字类型的数据可以进行所有的大小比较,而字符串类型的数据一般只用来判断相等( == )或不相等( != )。

好了,有了这2个知识,我们可以学习在Python中如何用“if语句”来实现条件的逻辑判断。

什么是if语句?

if语句的意思是“如果条件成立,就执行某些操作”。在Python中,它的基本语法如下:

if 条件:
    执行的代码

注意,冒号(:)表示后面要执行的内容,而冒号后面下一行的语句:“执行的代码”与 if 并没有对齐,而是在前方多出了一定长度的空白。这一空白便是 Python 程序中用于区分语句间逻辑层次关系的“缩进”。在同一个 Python 程序中,缩进需要使用相同长度的空白。虽然这个长度并没有统一规定,但按照普遍的习惯,我们建议使用 4 个空格作为 Python 的缩进。

举个简单的例子

假设我们写一个脚本程序:check_number.py,让用户输入一个数字,然后判断这个数字是不是大于10:

number = int(input("请输入一个数字:"))
if number > 10:
    print("这个数字大于10")

在这段代码中:

  1. 用户输入一个数字,程序用 int() 将其转换为整数,并赋值给变量 number
  2. 程序判断number > 10 是否为真。如果是,就执行缩进的代码 print("这个数字大于10")
  3. 如果条件不成立,程序什么都不做。

如果需要处理多个情况?

当条件不成立时,我们可以用 else 来处理其他情况。例如我们可以对脚本程序:check_number.py 做如下修改:

number = int(input("请输入一个数字:"))
if number > 10:
    print("这个数字大于10")
else:
    print("这个数字小于或等于10")

多个条件的判断

如果需要判断多个条件,可以使用 elif(意思是“否则如果”)。这是修改后的脚本程序:check_number.py 代码:

number = int(input("请输入一个数字:"))
if number > 10:
    print("这个数字大于10")
elif number == 10:
    print("这个数字等于10")
else:
    print("这个数字小于10")

这段语句将根据 number10 的相对关系分 3 种情况输出对应的内容。多次使用 elif 可以进行更多的条件判断。

另外,在实际开发中,我们不仅要根据条件做出判断,还需要考虑程序在运行过程中可能遇到的错误情况。比如,当用户输入数据时,可能会输入非预期的内容,导致程序出错。为了让程序更加健壮,Python 提供了 try/except 结构,它可以捕获并处理运行时发生的异常,而不会使整个程序中断。这个结构看上去和if条件语句很相似,但解决的问题完全不同。try/except 的基本语法如下:

try:
    # 尝试执行这段代码
    代码块
except 异常类型:
    # 如果代码块中出现指定异常,就执行这段代码
    错误处理代码
例如,在将用户输入转换为整数时,我们可以用 try/except 捕获输入错误,给出友好的提示,而不是让程序直接崩溃:
try:
    number = int(input("请输入一个数字:"))
    print("你输入的数字是:", number)
except ValueError::
    print("输入无效,请确保输入的是一个数字。")

现在练习时间又到了,这次试试将上节练习中的4个计算器脚本程序改写为一个可以根据输入的运算符自主选择运算方式的四则运算计算器脚本程序。

提示:除了输入两个待计算的数外,还可以再使用一次 input() 得到手动输入的运算符。对这个运算符的值进行条件判断,根据值的不同执行不同的运算方式。

AI 助教

提示:您可在此提出学习中遇到的问题。回答由 AI 生成,可能存在错误,请注意甄别。