Python基础(if条件语句、if...else语句、if...elif...else语句的用法和案例)

本文介绍了Python的基础分支结构,包括if条件语句、if...else语句、if...elif...else语句的使用和应用实例,涉及BMI指数计算、购买火车票标准和商品打折活动的逻辑判断。

Python基础之程序控制结构(一)



程序基本结构

程序由三种基本结构组成:顺序结构、分支结构、循环结构。

一、顺序结构

顺序结构:程序按照线性顺序依次从上到下的执行的一种运行方式。
在这里插入图片描述

'''通过输入正方形的边长a,计算正方形的周长和面积。'''
a = eval(input("请输入方体的边长:"))
L = a * 4
S = a * a
print("该正方形的周长是:{}".format(L))
print("该正方形的面积是:{}".format(S))
-------------------------------------------------------
输出的结果:
请输入方体的边长:5
该正方形的周长是:20
该正方形的面积是:25

总结:顺序结构就是思考问题时,先把已知的内容设置好,即赋值;然后去求解位置的内容,将最后求解的内容输出。

二、分支结构

分支结构:程序根据条件判断结果而选择不同向前执行路劲的一种运行方式。

1、比较运算符

在这里插入图片描述

print("hello"=="hello") 	# True
print(12>15) 				# False
print(1!=2) 				# True
print(25=="25") 			# False
print(10<=12) 				# True

2、if条件语句—单分支结构

if  <条件表达式>:
	当条件为真时,执行语句块
	……

在这里插入图片描述

if条件语句由if关键字构成,后面跟着一个条件和一个冒号。冒号的作用是告知接下来要创建一个新的语句块。这个条件实际上是一个比较表达式,它的值可以为真(True)或假(False),当表达式的结果为真时,执行if语句下面缩进的语句块;当表达式的结果为假时,跳过语句块,执行后面的程序。
注意:
(1) if条件后面必须要用英文输入法输入冒号。
(2) 满足if条件要执行的每一句都要向右缩进4个空格,或按1次Tab(制表)键。
(3) 同一层次的语句必须保证相同的缩进量。

'''用键盘输入年龄,判断是否满足18周岁,如果未满18周岁,
那么输出“你是未成年人”,如果满18周岁,那么输出“你已是成年人”。'''
age=int(input("请输入你的年龄:"))
if 0<age<18:
    print("你是未成年人!")
if age>=18:
    print("你已是成年人!")
----------------------------------------------------------------------
输出结果:
请输入你的年龄:15
你是未成年人!
请输入你的年龄:20
你已是成年人!

单分支结构的应用实例

编写一个“BMI指数”程序,实现:输入身高和体重,自动计算BIM值,输出体重类型(偏瘦、正常、过重、肥胖)。
BMI是指身体质量指数或体重指数,也叫做体质指数,是国际上衡量人体胖瘦程度以及是否健康的一个常用指标,通常是用体重,除以身高的平方来计算BMI值。即BMI=体重/身高*身高。
在这里插入图片描述
分析问题

“BMI指数”程序首先需要先知道输入的身高和体重的值,计算BMI值,然后判断BMI值的范围,最后输出体重类型。假设输入的身高,保存到变量height中,输入的体重,保存到变量weight中;计算BMI的值:bmi = weight/(height*height);根据bmi值范围输出体重类型。
编程步骤

(1) 输入身高(height)和体重(weight)
(2) 计算BMI的值:bmi = weight/(height*height)
(3) 根据中国BMI的标准值,判断bim值范围,输出体重类型。

流程图
在这里插入图片描述
编写代码

height=float(input("请输入您的身高(单位为米):"))
print("您的身高:",height,"米")
weight=float(input("请输入您的体重(单位为千克):"))
print("您的体重:",weight,"千克")
bmi = weight/(height*height)
if bmi<18.4:
    print("您的体重偏瘦")
if 18.5<bmi<23.9:
    print("您的体重正常,注意保持!")
if 24.0<bmi<27.9:
    print("您的体重过重 ")
if bmi>=28.0:
	print("您的体重肥胖!")
------------------------------------------------------------------------
输出结果:
请输入您的身高(单位为米):1.60
您的身高: 1.6 米
请输入您的体重(单位为千克):60.9
您的体重: 60.9 千克
您的体重正常,注意保持!

3、if…else语句—双分支结构

if  <条件>:
	当条件为真时,执行语句块1
else:
	当条件为真时,执行语句块2

在这里插入图片描述
当表达式的结果为真时,执行语句块1;当表达式的结果为假时,执行语句块2。

'''用键盘输入年龄,判断是否满足18周岁,如果未满18周岁,
那么输出“你是未成年人”,否则输出“你已是成年人”。'''
age=int(input("请输入您的年龄:"))
if 0<age<18:
    print("你是未成年人")
else:
    print("你已是成年人")
---------------------------------------------------------------
输出结果:
请输入您的年龄:18
你已是成年人
'''判断一个数是奇数还是偶数'''
i=int(input("请输入1~100范围内的一个数:"))
if i%2==0:
    print(i,"是偶数")
else:
     print(i,"是奇数")
--------------------------------------------------------
输出结果
请输入1~100范围内的一个数:25
25 是奇数
请输入1~100范围内的一个数:10
10 是偶数
'''计算两个数相除'''
i=int(input("请输入被除数:"))
j=int(input("请输入除数:"))
if j==0:
    print("输入除数不能为0")
else:
     print("i/j=",i/j)
---------------------------------------------------
输出的结果:
请输入被除数:0
请输入除数:2
i/j= 0.0
请输入被除数:4
请输入除数:0
输入除数不能为0
请输入被除数:4
请输入除数:5
i/j= 0.8

双分支结构的应用实例

编写一个“购买火车票”程序,实现:输入身高,输出火车票类型。
根据火车票儿童身高收费最新标准,身高未达到1.2米的儿童,不需要购买火车票;身高达到1.2米但未达到1.5米的儿童,可以购买火车儿童票;身高达到1.5米及以上的儿童,需要购买火车全价票。
1.问题分析
“购买火车票”程序首先需要知道输入的身高,再判断是否符合火车票儿童身高收费标准,最后输出火车票类型。假设输入的身高为1.1米,保存到变量height中,判断输入身高是否符合火车票儿童身高收费标准,输出火车票的类型。
2.编程步骤
通过上面的分析,“购买火车票”的编程步骤如下:
(1) 输入身高(height)。
(2) 判断输入身高是否满足火车票儿童身高收费标准。
(3) 输出火车票的类型,如height<1.2时,输出“您无需购买火车票”;1.2<height<1.5时,输出“请购买火车儿童票”;height>=1.5时,输出“请购买火车全价票”。
3.流程图
在这里插入图片描述

4.编写代码

'''购买火车票'''
height= float(input("请输入你的身高(单位为米):"))
if 0<height<1.2:
    print("您无需购买火车票!")
else:
    if 1.2<= height<1.5:
        print("请您购买火车儿童票!")
    else:
        print("请您购买火车全价票!")
------------------------------------------------------------------
输出结果:
请输入你的身高(单位为米):1.1
您无需购买火车票!
请输入你的身高(单位为米):1.3
请您购买火车儿童票!
请输入你的身高(单位为米):1.5
请您购买火车全价票!

4、逻辑运算符

在这里插入图片描述
x and y 表示 x 与 y,即 x 和 y 都为真时为真,否则为假;x or y 表示 x 或 y,即 x 和 y;有一个为真时就为真,否则为假(x 和 y 都为假时为假);not x 表示非 x,即 x 为真则结果为假,x 为假则结果为真。

print(True and True)	# True
print(True and False)	# False
print(False and False)	# False
print(False or False)	# False
print(True or False)	# True
print(not True)			# False
print(not False)		# True
print(not not False)	# False
print((4<=5) and (9<8)) 	# False                                
print(16>15) or (10<=8)		# True	                               
print(not (25=="25"))		# True   
'''身份验证'''
'''如果用户名和密码同时匹配时,输出身份验证成功,否则身份验证失败'''
username=input("请输入您的用户名:")
password=input("请输入您的密码:")
if username=="admin" and password=="abcdef":
    print("身份验证成功")
else:
	print("身份验证失败")
------------------------------------------------------------------------
输出的结果
请输入您的用户名:admin
请输入您的密码:abcdef
身份验证成功
请输入您的用户名:admin
请输入您的密码:123456
身份验证失败

5、if…elif…else语句—多分支结构

if  <条件1>:
	当条件1为真时,执行语句块1
elif<条件2>:	
 	当条件2为真时,执行语句块2
……
elif<条件n>:	
 	当条件n为真时,执行语句块n
else:
	所有条件不成立时,执行的语句块n+1

在这里插入图片描述
一个if条件语句可以包含多个elif子句,仅当if条件为假(False)时,elif子句的语句块才能被执行;如果if和elif子句的条件都为假(False),else子句的语句块就会被执行。

'''购买火车票的程序'''
height= float(input("请输入你的身高(单位为米):"))
if height<1.2:
    print("您无需购买火车票!")
elif 1.2<= height<1.5:
    print("请您购买火车儿童票!")
else:
    print("请您购买火车全价票!")
'''BMI指数程序'''
height=float(input("请输入您的身高(单位为米):"))
print("您的身高:",height,"米")
weight=float(input("请输入您的体重(单位为千克):"))
print("您的体重:",weight,"千克")
bmi = weight/(height*height)
if bmi<18.4:
    print("您的体重偏瘦!")
elif bmi>18.5 and bmi<23.9:
    print("您的体重属于正常,注意保持!")
elif bmi>24.0 and bmi<27.9:
    print("您的体重过重")
else:
	print("您的体重肥胖")
------------------------------------------------------
输出结果:
请输入您的身高(单位为米):1.6
您的身高: 1.6 米
请输入您的体重(单位为千克):65
您的体重: 65.0 千克
您的体重过重

多分支结构的应用实例

多分支结构的能解决生活中很多问题,如根据道路拥堵程度给出不同的路线建议,根据外界光线的明亮程度控制路灯的亮度等。其中根据商场打折程度选择购买商品是一个典型的多分支问题。
编写一个“商品打折”程序,实现:输入商品价格,输出购买该商品应付的金额。
背景:购物狂欢节商品打折活动,200元以内(含200元)不打折,200-500元(含500)之内打9折,500-1000元(含1000)之内打8折,超过1000元打五折。
1.问题分析
“商品打折”程序首先需要知道输入商品价格,,然后根据判断价格范围,计算折扣后的价格,最后输出购买该商品应付的金额。假设输入的商品价格为300元,保存到变量price中,输出打完折购买该商品应付的金额保存到cost变量中,并初始化cost=0。判断价格范围计算折扣价格cost=打折数price,最后输出结果。
2.编程步骤
(1)输入商品价格price,初始化输出变量cost=0
(2)判断价格范围,计算打完折后应付的金额cost=打折数
price。
(3)输出购买该商品应付的金额cost。
3.流程图
在这里插入图片描述
4.编写代码

price=int(input("请输入商品价格:"))
cost=0
if 0<price<=200 :
    cost=price
    print("您购买该商品应付金额为",cost,"元")
elif price>200 and price<=500 :
    cost=0.9*price
    print("您购买该商品应付金额为",cost,"元")
elif price>500 and price<=1000 :
    cost=0.7*price
    print("您购买该商品应付金额为",cost,"元")  
else :
    cost=0.5*price
    print("您购买该商品应付金额为",cost,"元")  
--------------------------------------------------------
输出结果:
请输入商品价格:200
您购买该商品应付金额为 200 元
请输入商品价格:300
您购买该商品应付金额为 270.0 元
请输入商品价格:1200
您购买该商品应付金额为 600.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值