简介
Python代码在执行时是按照自上向下顺序执行的。通过流程控制语句,可以改变程序的执行顺序,也可以让指定的程序反复执行多次。流程控制语句分成两大类:条件判断语句,循环语句。本节我们先来将条件判断语句。
条件判断语句(if语句)
if语句是Python中非常重要的流程控制语句之一,其基本语法如下:
if 条件表达式: 代码块
在执行if语句时,会先对条件表达式进行求值判断,如果为True,则执行if后的代码块,否则跳过代码块不执行。需要注意的是,Python中的代码块是通过缩进来实现的,缩进必须使用相同个数的空格或者Tab键,而且应该始终使用同一种方式。
例如,当我们输入以下代码:
num = 10 if num > 10: print("num比10大") print("程序已结束")
此时打印结果为"程序已结束",因为num的值为10,不满足if语句中的条件表达式,所以不会执行if后面的代码块。
另外,需要了解的是,在if语句中我们可以使用逻辑运算符and和or来连接多个条件表达式,分别表示所有条件同时满足和只要有一个条件满足即可,例如:
num = 15 if num > 10 and num < 20: print("num比10大,num比20小")
在上面这段代码中,只有当num的值既大于10又小于20时,才会执行print函数中的内容。
最后,if语句也可以用来实现根据不同的条件输出不同的内容,例如:
name = input("请输入用户名:") if name == "admin": print("欢迎管理员光临")
在上面这段代码中,如果用户输入的用户名为"admin",那么会输出"欢迎管理员光临",否则什么也不执行。
练习1:判断奇偶数
编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。
参考代码:
num = int(input("请输入一个整数:")) if num % 2 == 0: print("这个数是偶数") else: print("这个数是奇数")
练习2:判断闰年
编写一个程序,检查任意一个年份是否是闰年。如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年。
参考代码:
year = int(input("请输入一个年份:")) if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: print("这是闰年") else: print("这不是闰年")
练习3:计算狗的年龄相当于人的年龄
我家的狗5岁了,5岁的狗相当于多大年龄的人呢?
其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。
那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁
参考代码:
dog_age = int(input("请输入狗的年龄:")) if dog_age < 0: print("年龄不能为负数") elif dog_age <= 2: human_age = dog_age * 10.5 else: human_age = 21 + (dog_age - 2) * 4 print("狗的年龄相当于人的年龄为:", human_age)
练习4:根据成绩奖励
从键盘输入小明的期末成绩:
当成绩为100时,‘奖励一辆BMW’
当成绩为[80-99]时,‘奖励一台iphone’
当成绩为[60-79]时,‘奖励一本参考书’
其他时,什么奖励也没有
参考代码:
score = int(input("请输入小明的期末成绩:")) if score == 100: print("奖励一辆BMW") elif 80 <= score <= 99: print("奖励一台iphone") elif 60 <= score <= 79: print("奖励一本参考书") else: print("什么奖励也没有")
练习5:选择婚姻对象
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:
高:180cm以上; 富:1000万以上; 帅:500以上;
如果这三个条件同时满足,则:‘我一定要嫁给他’
如果三个条件有为真的情况,则:‘嫁吧,比上不足,比下有余。’
如果三个条件都不满足,则:‘不嫁!’
参考代码:
height = int(input("请输入男方的身高(cm):")) wealth = int(input("请输入男方的财富(万元):")) handsome = int(input("请输入男方的颜值(0-100):")) if height >= 180 and wealth >= 1000 and handsome >= 500: print("我一定要嫁给他") elif height >= 180 or wealth >= 1000 or handsome >= 500: print("嫁吧,比上不足,比下有余。") else: print("不嫁!")
小结
if语句是Python中用于控制程序流程的重要语句。它的一般形式如下:
if 条件表达式: 代码块
if语句的执行过程如下:
1.首先对条件表达式进行求值判断,如果结果为True,则执行if后面的代码块;如果结果为False,则跳过代码块,继续执行后面的语句。
2.代码块是一组通过缩进来区分的语句,它们应该具有相同的缩进级别,通常使用四个空格或一个制表符作为缩进。
3.代码块中的语句会按顺序依次执行,只要满足条件,就会执行所有代码块中的语句;如果条件不满足,代码块中的语句将被跳过。
if语句还可以扩展为if-else语句或if-elif-else语句,用于处理多个条件情况。其语法如下:
▪if-else语句:
if 条件表达式: 代码块1 else: 代码块2
如果条件表达式为True,则执行代码块1;否则,执行代码块2。
- ▪if-elif-else语句:
if 条件表达式1: 代码块1 elif 条件表达式2: 代码块2 ... else: 代码块n
依次判断条件表达式1、条件表达式2,直到找到第一个为True的条件,执行相应的代码块。如果所有条件都为False,则执行最后的else代码块。
在if语句中,我们还可以使用逻辑运算符and和or来组合多个条件表达式。and表示所有条件必须同时满足,or表示只要有一个条件满足即可。
总结起来,if语句是用于根据条件选择性地执行特定的代码块。它是控制程序流程的重要工具,能够使程序根据不同的情况做出相应的响应。