day10- 条件语句
Python代码如果不做其他处理,是自上往下执行的。但是在我们实际场景中,是需要做一些判断,所以用到了Python的条件判断语句可以根据不同的条件执行不同的代码块
包含
if
、elif
、else
关键字每句判断语句使用冒号
:
结尾,使用 缩进
划分语句块,相同缩进数的语句组成一个语句块。条件控制语句,包括 if 语句、if - else 语句、if - elif - else 语句、以及 if - elif (多个elif) - else 语句。
1、if语句
if语句最直接,只需要判断一次,如果条件成立(为 True),则执行判断语句后带缩进的代码逻辑,否则不执行。
if 判断条件: 执行条件成立的代码块
这块我们需要注意两个地方,冒号必须要有, 需要执行的代码必须缩进,否则就会报错
小栗子:输入一个正整数,判断是否大于7,如果大于输出这个正整数
思路:我们可以使用input方法输入数字,然后将数字使用if判断,是否大于7,为真就输出这个数,对了,input输入的数是字符串类型,字符串无法与整数做比较,我们需要先转换为整数,ok,开始做题
number = input('请输入一个数字:') if int(number) > 7: print('这个数是:', number)
2、if - else 语句
同样的,if-else也是判断一次,不过if 条件成立后 执行缩进的代码块,条件不成立的执行else后的缩进代码块
if 判断条件: 执行条件成立的代码块 else: 执行条件不成立的代码块
这块我们需要注意的是,条件判断一次,但是会执行两个代码逻辑
同样的我们看栗子
小栗子:输入一个正整数,判断是否大于7,如果大于输出这个正整数,否则输出字符串:这个数小于等于7
number = input('请输入一个数字:') if int(number) > 7: print('这个数是:', number) else: print('这个数小于等于7')
3、if - elif - else 语句
if - elif -else 语句中又出现了一个elif,说明又加一次判断,我们先用if判断,如果成立,执行对应的代码块,如果不成立,在用elif判断,如果成立,执行对应的代码块,如果还不成立,就执行else的代码块
if 判断条件: 执行条件成立的代码块 elif: 执行该条件成立的代码块 else: 执行上述条件都不成立的代码块
我们需要注意的是代码块只会执行一次,if后的代码块和elif的代码块不会都执行
小栗子:输入一个正整数,判断是否大于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和上一个语句不同的是,有多个条件判断
if 判断条件: 执行条件成立的代码块 elif: 执行该条件成立的代码块 elif: 执行该条件成立的代码块 ... else: 执行上述条件都不成立的代码块
小栗子:小明学生分数成绩获得了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、嵌套使用
上述都是判断条件的单个使用,在我们使用的应用中,上述四个语句都可以进行嵌套使用,更灵活的处理实际问题,整体的逻辑也容易比较理解
小栗子:输入一个整数,判断是否大于0,并且整数可以整除2,打印输出 ' 这是我们想要的数 ',否则输出 ' 这不是我们想要的数 '
number = int(input("输入你的数字: ")) if number > 0: if number % 2 == 0: print("这是我们想要的数字") else: print("这不是我们想要的数字")
基础运算符可以看一下之前文章
这里列举下常用的基础运算符:
>
|
大于
|
<
|
小于
|
==
|
等于
|
>=
|
大于等于
|
<=
|
小于等于
|
!=
|
不等于
|
in / not in
|
成员运算符
|
is / not is
|
身份运算符
|
小栗子:已知小明用户名和密码是xiaoming和123456,输入用户名和密码,如果一致,输出"登录成功"如果不一致,输出"用户名或密码错误"
username = input("请输入用户名:") password = input("请输入密码:") if username == "xiaoming": if password == "123456": print("登录成功!") else: print("用户名或密码错误!")
7、条件控制语句+逻辑运算符
逻辑运算符也可以看一下之前文章
常用的逻辑运算符:
逻辑运算符
|
含义
|
and
|
逻辑与
|
or
|
逻辑或
|
not
|
逻辑非
|
同样的小栗子,我们加上逻辑运算符再次做一遍
小栗子:已知小明用户名和密码是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