条件语句
一、if条件判断
1.if条件判断的基本形式
Python中,if语句用于控制程序的执行,基本形式为:
if 判断条件:判断条件可为:逻辑、成员运算、比较运算
(缩进) 执行语句........(当判断的条件成立时,就会执行if内的语句)
else:(else后面没有表达式)
(缩进)执行语句........(当if条件不成立,则会执行else内的语句)
"判断条件"成立时(非零),则执行其后面的语句,执行内容可以是多行,可以缩进来区分表示同一个范围
else 为可选语句 在if判断条件不成立时,才会执行
缩进 遇到冒号就要缩进,这是语法,一个标椎的缩进等于四个空格,但是四个空格不等于一个tab键。Python中可以使用tab键,进行缩进,但是这种操作是不规范的,一般用的是4个空格
例子如下:(一个简单的 if....else 判断)
比较运算符的使用:
#根据输入的年龄来判断是否成年
my_age=int(input('请输入你的年龄:')) #input输入的数据类型为str
if my_age>=18:print('你已经成年')else:print('你还未成年')
输出结果:
请输入你的年龄:14你还未成年
成员运算符的使用:
#成员运算符和逻辑运算符的结合使用
my_str='苹果、橘子、香蕉、梨、葡萄'
if ('苹果' and '葡萄') inmy_str:print('苹果和葡萄是我最喜欢的水果之一')else:print('水果列表中没有我喜欢的水果')
输出结果:
苹果和葡萄是我最喜欢的水果之一
逻辑运算符的使用
#结合列表索引和比较运算符和逻辑运算符
a=[2,3,5,6]if (a[0]>a[1]) and a[1]>a[2]:print('列表中的前三个数字排列顺序是由大到小排列')else:print('列表中的前三个数字排列顺序是由小到大排列')
输出结果:
列表中的前三个数字排列顺序是由小到大排列
2. if....elif.....elif.....else....
在一个if表达式中,即一个完整的 if.....elif....elif.....else....中,如果运行了其中一个条件,其他分支条件就不会再运行了
总结:当其中一个条件满足,其他的条件分支自动屏蔽,不会再运行
'''1、一家商场在降价促销,所有原价都是整数(不需要考虑浮点情况),如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,
如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣(%10或
20%)和最终价格。'''
#先询问购买的价格,再做接下来的判断
price=int(input('请输入你的购买价格:'))if 50<=price<=100:#Discount享受的折扣价
Discount = price * 0.1
print('您将享受10%的折扣')print('您最终支付金额为:{}'.format(price -Discount))elif price>100:#Discount享受的折扣价
Discount = price * 0.2
print('您将享受20%的折扣')print('您最终支付金额为:{}'.format(price -Discount))else:print('您当前的不享受任何优惠')
'''2 判断是否为闰年
提示:
输入一个有效的年份(如:),判断是否为闰年(不需要考虑非数字的情况)
如果是闰年,则打印“是闰年”;否则打印“不是闰年”
什么是闰年,请自行了解(需求文档没有解释)'''
'''闰年分为:普通闰年和世纪闰年
普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如就是闰年);
世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年);'''year=int(input('请输入一个有效的年份(如:):'))'''普通闰年:年份是4的倍数,且不是100的倍数
世纪闰年:必须是400的倍数
普通闰年的计算方法,能被4整除但不被100整除,year % 4==0 and year % 100!=0
世纪闰年的计算方法,能被400整除,year % 400==0'''
if year % 4==0 and year % 100!=0:print('{}年是普通闰年'.format(year))elif year % 400==0:print('{}年是世纪闰年'.format(year))else:print('{}年不是闰年'.format(year))
3.if后面最关心的是什么? 判断条件语句是为真还是为假(也就是,是True还是False)
形式:if a:(其中隐含有bool(a),是True还是False)
if not a: 用来判断某个变量是否为空,是否存在(实际使用过程中,使用的非常多的判断条件)
a是None、0、[]、{}、().......等都为False 也就等同于if False:,也就是条件不成立,不会执行if条件下的语句,而是执行else下的语句
a是非空类型,也就是等同于 if True:,也就是条件成立,直接执行if下的语句。(不会再去处理else下的语句)
条件语句为True
ifTrue:print('我是对的')else:print('你是最厉害的')
输出结果:
我是对的
条件语句为False
ifFalse:print('你是对的')else:print('我是最厉害的')
输出结果:
我是最厉害的
4.else是可选择语句 在判断条件不成立时,执行相关语句
else不是必备的,在条件判断中,加不加else,可以根据自己实际的业务逻辑进行使用。
5.if的嵌套使用
Python在运行一个文件时,会查看所有顶格写的代码。一个完整的if表达式只会看某一个满足条件的语句
'''3.求三个整数中的最大值
提示:定义 3 个变量'''
#先自定义3个变量并赋值
num1=6num2=10num3=20
if num1>num2:if num1>num3:print('最大值为:{}'.format(num1))else:if num2>num3:print('最大值为:{}'.format(num2))else:print('最大值为:{}'.format(num3))
输出结果:
最大值为:20
6.工作中使用最多的结构:if......if ......if .....else
if 1:pass
if 2:pass
if 3:pass
else:print('hello') #else是最后一个if成对的