引言 在Python语言中,条件语句是一种选择语句,因为是通过if关键字来实现的,所以也称为if语句。if语句根据条件表达式的判断结果为真(包括非零、非空)还是为假(包括零、空),选择运行程序的其中一个分支。Python语言中if语句有单分支if语句、双分支if/else语句和多分支if/elif/else语句。
下面用一张流程图来帮助我们理解if语句的工作原理。
当条件表达式为True,执行语句体1;当条件表达式为False,执行语句体2。
文章图片
单分支if语句 【Python基础语法|Python之条件语句】if语句由四部分组成:关键字if、条件表达式、冒号、表达式结果为真(包括非零、非空)时要执行的语句体。其语法格式如下:
if条件表达式:
语句体
如果条件表达式的结果为真,执行语句体中的操作;如果条件表达式的值为假(包括零、空),则不执行语句体中的操作。
案例
1、假设有一个表示某人年龄的变量,而你想知道这个人是否够投票的年龄。
age = 20
if age >= 18:
print('You are old enough to vote!')
2、输入圆的半径,如果半径大于等于0,则计算并输出圆的面积1和周长。
import math
r = float(input('请输入圆的半径:'))
s = math.pi*r**2# 圆的面积
l = 2*math.pi*r# 圆的周长
if r >=0:
print('圆的面积:%s,圆的周长:%s'%(s,l))
双分支if/else语句 在前面介绍的if语句中,并不能对条件不符合的内容进行处理,所以Python引进了另外一种条件语句——if/else,其基本语法格式如下:
if 条件表达式:
语句体1
else:
语句体2
if/else语句是一种双分支结构。先判断条件表达式值的真假。如果条件表达式的结果为真(包括非零、非空),则执行语句体1中的操作;如果条件表达式为假(包括零、空),则执行语句体1中的操作。语句体1和语句体2既可以包含多条语句,也可以只由一条语句组成。
案例
3、一个人够投票的年龄时显示与前面第一题相同的信息,同时在这个人不够投票的年龄时也显示一条信息。
age = 20
if age >= 18:
print('You are old enough to vote!')
print('Have you registered to vote yet?')
else:
print('Sorry,you are too young to vote.')
print('Please register to vote as soon as you turn 18.')
4、输入年份t,如果年份t能被400整除,或者能被4整除但不能被100整除,则输出“t年是闰年”,否则输出“t年不是闰年”。
t = int(input('请输入年份:'))
if (t % 400 == 0) or (t % 4 == 0 and t % 100 != 0):
print(t,'年是闰年!')
else:
print(t,'年不是闰年!')
多分支if/elif/else语句 在Python语言中,if语句实际上是一种强大的条件语句,它可以对多种情况进行判断。可以判断多条件的语句是if/elif/else语句,其语法格式如下:
if 条件表达式1:
语句体1
elif 条件表达式2:
语句体2
elif 条件表达式3:
语句体3
......
else:
语句体n
如果条件表达式1的结果为真(包括非零、非空),则执行语句体1中的操作;如果条件表达式1的结果为假(包括零、空),则继续判断条件表达式的真假;如果条件表达式2的结果为真(包括非零、非空),则执行语句体2中的操作;如果条件表达式2的结果为假(包括零、空),则继续判断表达式3的真假…
从上到下依次判断条件表达式,找到第一个为真的条件表达式,就执行该条件表达式下的语句体,不再判断剩余的条件表达式。如果所有条件表达式均为假,则执行else后面的语句体。
案例
5、从键盘输入整数的一百分制成绩(1~100),要求输出其对应的成绩等级A-E。其中,90分(包含)以上为A,80-89(均包含)分为B,70-79(均包含)分为C,60-69(均包含)分为D,60分以下为E。
score = int(input('请输入你的成绩(0-100分):'))
if score > 100:
grade = '输入错误!!'
elif score >=90:
grade = 'A'
elif 89 >= score >= 80:
grade = 'B'
elif 79 >= score >= 70:
grade = 'C'
elif 69 >= score >= 60:
grade = 'D'
elif score >= 0:
grade = 'E'
else:
grade = '输入错误!!'
print('你的成绩等级:',grade)
6、从键盘输入标准价格和订货量,根据订货量、价格给以不同的折扣,计算应付货款(应付货款=订货量×标准价格×(1-折扣率))。订货量300以下,没有折扣;订货量300及以上,500以下,折扣率为3%;订货量500及以上,1000以下,折扣率为5%;订货量1000及以上,2000以下,折扣率为8%;订货量2000及以上,折扣率为10%。
price = float(input('请输入标准价格:'))
quantity = int(input('请输入订货量:'))
if 0 <= quantity < 300:
x = 0
elif 300 <= quantity < 500:
x = 0.03
elif 500 <= quantity < 1000:
x = 0.05
elif 1000 <= quantity < 2000:
x = 0.08
else:
x = 0.1
# 注意考虑订货量和标准价格小于0的情况
if quantity >= 0 and price >= 0:
cost = price*quantity*(1-x)
print('应付货款:',cost)
else:
print('你输入的不符合规则!请检查!')
if语句的嵌套 在某个分支的语句体中,又嵌套新的分支结构,这种情况称为嵌套。选择结构的嵌套形式因问题不同而千差万别,因此分析透彻每一个分支的逻辑情况是编写程序的基础。
案例(升级版)
7、输入客户类型、标准价格和订货量。根据客户类型(<5为新客户,≥5为老客户)和订货量给予不同的折扣,计算应付货款(应付货款=订货量×标准价格×(1-折扣率))。
如果是新客户:订货量800以下,没有折扣;否则折扣率为2%
如果是老客户:订货量500以下,折扣率为3%;订货量500及以上,1000以下,折扣率为5%;订货量1000及以上,2000以下,折扣率为8%;订货量2000及以上,折扣率为10%。
cus_type = int(input('请输入客户类型:'))
quantity = int(input('请输入订货量:'))
price = float(input('请输入标准价格:'))if cus_type > 0 and price > 0 and quantity > 0:
if cus_type < 5:
if quantity < 800:
x = 0
else:
x = 0.02
if cus_type >=5:
if quantity < 500:
x = 0.03
elif 500 <= quantity <1000:
x = 0.05
elif 1000 <= quantity < 2000:
x = 0.08
else:
x = 0.1
cost = quantity*price*(1-x)
print('应付货款:',cost)
else:
print('你输入的不符合规则!请检查!')
推荐阅读
- django|python 从docx文件中读取文字和图片,其中图片编码成base64格式(高中信息技术题库系统)
- Python一网打尽<排序算法;之从玩转冒泡排序开始
- Python 中的鸭子类型和猴子补丁
- python 包之 Pillow 图像处理教程
- # yyds干货盘点 # 手把手教你使用Python网络爬虫获取基金信息
- 数据分析|pandas数据分析之数据清洗(上)
- python算法|100个python算法超详细讲解(魔方阵)
- python|python 数组,array --- 高效的数值数组 — Python 3.9.2 文档
- Python识别同构数