Python代码如果不做其他处理,是自上往下执行的。但是在我们实际场景中,是需要做一些判断,所以用到了Python的条件判断语句可以根据不同的条件执行不同的代码块
包含 if
、elif
、else
关键字
每句判断语句使用冒号 :
结尾,使用 缩进
划分语句块,相同缩进数的语句组成一个语句块。
条件控制语句,包括 if 语句、if - else 语句、if - elif - else 语句、以及 if - elif (多个elif) - else 语句。
1、if语句
if语句最直接,只需要判断一次,如果条件成立(为 True),则执行判断语句后带缩进的代码逻辑,否则不执行。
代码语言:javascript复制if 判断条件:
执行条件成立的代码块
这块我们需要注意两个地方,冒号必须要有, 需要执行的代码必须缩进,否则就会报错
小栗子:输入一个正整数,判断是否大于7,如果大于输出这个正整数
思路:我们可以使用input方法输入数字,然后将数字使用if判断,是否大于7,为真就输出这个数,对了,input输入的数是字符串类型,字符串无法与整数做比较,我们需要先转换为整数,ok,开始做题
代码语言:javascript复制number = input('请输入一个数字:')
if int(number) > 7:
print('这个数是:', number)
2、if - else 语句
同样的,if-else也是判断一次,不过if 条件成立后 执行缩进的代码块,条件不成立的执行else后的缩进代码块
代码语言:javascript复制if 判断条件:
执行条件成立的代码块
else:
执行条件不成立的代码块
这块我们需要注意的是,条件判断一次,但是会执行两个代码逻辑
同样的我们看栗子
代码语言:javascript复制小栗子:输入一个正整数,判断是否大于7,如果大于输出这个正整数,否则输出字符串:这个数小于等于7
number = input('请输入一个数字:')
if int(number) > 7:
print('这个数是:', number)
else:
print('这个数小于等于7')
3、if - elif - else 语句
if - elif -else 语句中又出现了一个elif,说明又加一次判断,我们先用if判断,如果成立,执行对应的代码块,如果不成立,在用elif判断,如果成立,执行对应的代码块,如果还不成立,就执行else的代码块
代码语言:javascript复制if 判断条件:
执行条件成立的代码块
elif:
执行该条件成立的代码块
else:
执行上述条件都不成立的代码块
我们需要注意的是代码块只会执行一次,if后的代码块和elif的代码块不会都执行
代码语言:javascript复制小栗子:输入一个正整数,判断是否大于7, 如果大于,输出这个整数大于7 如果这个数等于7,输出这个整数等于7 否则,输出这个数小于7
number = input('请输入一个数字:')
if int(number) > 7:
print('这个整数大于7')
elif int(number) == 7:
print('这个整数等于7')
else:
print('这个数小于7')
4、if - elif (多个) - else 语句
多个elif和上一个语句不同的是,有多个条件判断
代码语言:javascript复制if 判断条件:
执行条件成立的代码块
elif:
执行该条件成立的代码块
elif:
执行该条件成立的代码块
...
else:
执行上述条件都不成立的代码块
代码语言:javascript复制小栗子:小明学生分数成绩获得了80分 成绩分值>90,成绩为'优' 成绩分值大于等于80且小于90,成绩为 '中' 成绩分值大于等于60且小于80,成绩为'及格' 成绩分值小于60的,成绩为'差'
score = 80
if score >= 90:
print("优")
elif 80 <= score < 90:
print("中")
elif 60 <= score < 80:
print("及格")
else:
print("差")
5、嵌套使用
上述都是判断条件的单个使用,在我们使用的应用中,上述四个语句都可以进行嵌套使用,更灵活的处理实际问题,整体的逻辑也容易比较理解
代码语言:javascript复制小栗子:输入一个整数,判断是否大于0,并且整数可以整除2,打印输出 ' 这是我们想要的数 ',否则输出 ' 这不是我们想要的数 '
number = int(input("输入你的数字: "))
if number > 0:
if number % 2 == 0:
print("这是我们想要的数字")
else:
print("这不是我们想要的数字")
6、条件控制语句 基础运算符
基础运算符可以看一下之前文章day03-运算符
这里列举下常用的基础运算符:
> | 大于 |
---|---|
< | 小于 |
== | 等于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
in / not in | 成员运算符 |
is / not is | 身份运算符 |
代码语言:javascript复制小栗子:已知小明用户名和密码是xiaoming和123456,输入用户名和密码,如果一致,输出"登录成功" 如果不一致,输出"用户名或密码错误"
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "xiaoming":
if password == "123456":
print("登录成功!")
else:
print("用户名或密码错误!")
7、条件控制语句 逻辑运算符
逻辑运算符也可以看一下之前文章day03-运算符
常用的逻辑运算符:
逻辑运算符 | 含义 |
---|---|
and | 逻辑与 |
or | 逻辑或 |
not | 逻辑非 |
同样的小栗子,我们加上逻辑运算符再次做一遍
代码语言:javascript复制小栗子:已知小明用户名和密码是xiaoming和123456,输入用户名和密码,如果一致,输出"登录成功" 如果不一致,输出"用户名或密码错误"
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "xiaoming" and password == "123456":
print("登录成功!")
else:
print("用户名或密码错误!")
day10练习
初级(day3中题在做一遍):
1.编写一个程序,接受用户输入的一个数字,并判断它是否大于10且小于20。如果是返回"符合",不是就返回"不符合"
2.编写一个程序,接受用户输入的一个正整数,并判断它是否为偶数。如是偶数返回True,是奇数返回False
3.编写一个程序,接受用户输入的一个字符串,并判断它是否包含字母 "a" 或 "b"。如果包含返回True,否则返回False
中级(day3中题在做一遍):
1.编写一个程序,接受用户输入的一个三位数,判断该数是否为水仙花数(水仙花数指一个三位数,其各个位上数字的立方和等于该数本身)
2.编写一个程序,接受用户输入的一个年份,并判断它是否为闰年且大于2000年(闰年条件:能被4整除且不能被100整除,或者能被400整除),如果符合条件,输出"是闰年且大于2000年",不符合条件,输出"不符合条件"
3.输入指定月份,打印该月份所属的季节。 提示:3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季
4.编写一个程序,有列表[1,2,3,4,5,6,7,8,9]和一个整数8,并判断该整数是否在列表的前半部分,且列表长度大于5
高级
扑克牌1-13个数,随机选择一个扑克牌的数字作为答案。用户输入一个数字,程序会提示大了或是小了,有三次机会,三次内猜中的提示:"binggo,猜对了",否则提示"爆炸"
提示:N = random.randint(a, b),返回随机整数N,a<= N <=b