跳至主要內容

条件语句

刘春龙原创...大约 3 分钟Python教程文档

选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分支、双分支、多分支。

单分支选择结构

if 语句单分支结构的语法形式如下:

if  条件表达式:
    语句/语句块
num = input("输入一个数字:")
if int(num)<10:
  print("小于10的数:"+num)

条件表达式详解

在选择和循环结构中,条件表达式的值为 False 的情况如下:

False、0、0.0、空值 None、空序列对象(空列表、空元组、空集合、空字典、空字符 ​ 串)、空 range 对象、空迭代对象。

其他情况,均为 True。这么看来,Python 所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。

if 3:  # 整数作为条件表达式
    print("ok")


a = []  # 列表作为条件表达式,由于为空列表,是False
if a:
    print("空列表,False")


s = "False"  # 非空字符串,是True
if s:
    print("非空字符串,是True")


c = 9
if 3 < c < 20:
    print("3")
if 3 < c and c < 20:
    print("3")


if True:  # 布尔值
    print("True")

双分支选择结构

双分支结构的语法格式如下:

if  条件表达式:
    语句1/语句块1
else:
    语句2/语句块2
num = input("输入一个数字:")
if int(num)<10:
  print(num)
else:
  print("数字太大")

三元条件运算符

Python 的三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下:条件为真时的值 if (条件表达式) else 条件为假时的值

num = input("请输入一个数字")
print(num if int(num) < 10 else "数字

可以看到,这种写法更加简洁,易读。

多分支选择结构

多分支选择结构的语法格式如下:

if 条件表达式1 :
    语句1/语句块1
elif 条件表达式2:
    语句2/语句块2
elif 条件表达式n :
    语句n/语句块n
else:
    语句n+1/语句块n+1

输入一个学生的成绩,将其转化成简单描述:不及格(小于 60)、及格(60-79)、良好(80-89)、优秀(90-100)

score = int(input("请输入分数"))
grade = ""
if score < 60:
    grade = "不及格"
elif score < 80:
    grade = "及格"
elif score < 90:
    grade = "良好"
elif score <= 100:
    grade = "优秀"

print("分数是{0},等级是{1}".format(score, grade))

已知点的坐标(x,y),判断其所在的象限

x = int(input("请输入x坐标"))
y = int(input("请输入y坐标"))

if x == 0 and y == 0:
    print("原点")
elif x == 0:
    print("y轴")
elif y == 0:
    print("x轴")
elif x > 0 and y > 0:
    print("第一象限")
elif x < 0 and y > 0:
    print("第二象限")
elif x < 0 and y < 0:
    print("第三象限")
else:
    print("第四象限")

选择结构的嵌套

选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。

输入一个分数。分数在 0-100 之间。90 以上是 A,80 以上是 B,70 以上是 C,60 以上是 D。60 以下是 E

score = int(input("请输入一个在0-100之间的数字:"))
grade = ""
if score > 100 or score < 0:
    score = int(input("输入错误!请重新输入一个在0-100之间的数字:"))
else:
    if score >= 90:
        grade = "A"
    elif score >= 80:
        grade = "B"
    elif score >= 70:
        grade = "C"
    elif score >= 60:
        grade = "D"
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7