基本结构
python中判断语句的基本结构由if和else组成,当if后面的条件为真时,执行if下面的语句;当if后面的条件为假时,执行else下面的语句。这里条件的真假都是用bool值来作为依据的,我们知道比较运算、成员运算、身份运算返回的结果都是bool值。所以比较运算、成员运算、身份运算都可以作为条件放到判断语句中去。
if 1 > 2: print('yes') # 代码缩进为一个Tab键或者4个空格键else: print('no')
当我们只需要条件为真时执行某些语句,条件为假时不用执行语句。那我们可以只要if不要else。
if 1 < 2: print('yes')
嵌套结构
嵌套结构由多重基本结构组成,每一重的if对应每一重的else(else可有可无,具体看需求)。嵌套结构可以无限的嵌套下去,但要注意的是很多的嵌套结构都可以用其他的方式来优化,我们写代码的时候尽量不要写太多重的嵌套结构,嵌套结构重数越多代码的可读性越差。
举个例子,现有3条线段a、b、c,请判断这三条线段能否构成三角形。三角形的判定方法:任意两边之和大于第三边。
a = int(input('请输入线段a的长度:'))b = int(input('请输入线段b的长度:'))c = int(input('请输入线段c的长度:'))if a + b > c: print('线段a + b大于c') if a + c > b: print('线段a + c大于b') if b + c > a: print('线段b + c大于a') print('三条线段a、b、c可以构成三角形') else: print('线段a大于等于b + c,不能构成三角形') else: print('线段b大于等于a + c,不能构成三角形')else: print('线段c大于等于a + b,不能构成三角形')
执行结果如下:
我们可以随意的输入一些值来判断能否构成三角形,不同的输入可能会得到不同的输出。
多条件结构
多条件结构由if、elif和else组成。当if后面的条件为真时,执行if下面的语句;当if后面的条件为假时,判断第一个elif后面的条件,当第一个elif后面的条件为真时,执行第一个elif下面的语句;当第一个elif后面的条件为假时,判断第二个elif后面的条件,当第二个elif后面的条件为真时,执行第二个elif下面的语句;当第二个elif后面的条件为假时,判断第三个elif后面的条件,以此类推。如果所有的条件都为假时,执行else下面的语句(else可有可无,具体看需求)。
举个例子,我们来给小学生的数学成绩分等级,大于等于90分的为优秀,大于等于80分小于90分的为良好,大于60分小于80分的为一般,等于60分的为及格,小于60分的为不及格。
score = int(input('请输入分数:'))if score > 100: print('超范围')elif score >= 90: print('优秀')elif score >= 80: print('良好')elif score >= 60: print('一般')elif score == 60: print('及格')else: print('不及格')
执行结果如下:
逻辑运算符
使用逻辑运算符可以在一个判断语句中使用复杂的判断条件。
and | 做与运算,左右两边同时为真时结果为真,否则结果为假 |
or | 做或运算,左右两边同时为假时结果为假,否则结果为真 |
not | 做非运算,值为真时结果为假,值为假时结果为真 |
逻辑运算符(and)
左 | 右 | 结果 |
真 | 真 | 真 |
真 | 假 | 假 |
假 | 真 | 假 |
假 | 假 | 假 |
逻辑运算符(and)用来做与运算,当左右两边的值都为真时返回真,否者返回假。
print(1 < 2 and 5 > 4) # Trueprint(1 == 2 and 5 > 4) # Falseprint(1 == 2 and 5 == 4) # False
逻辑运算符(and)在判断语句中的应用,用一个判断语句完成能否构成三角形的判断。
a = int(input('请输入线段a的长度:'))b = int(input('请输入线段b的长度:'))c = int(input('请输入线段c的长度:'))if a + b > c and a + c > b and b + c > a: print('三条线段a、b、c可以构成三角形')else: print('三条线段a、b、c不能构成三角形')
执行结果如下:
逻辑运算符(or)
左 | 右 | 结果 |
真 | 真 | 真 |
真 | 假 | 真 |
假 | 真 | 真 |
假 | 假 | 假 |
逻辑运算符(or)用来做或运算,当左右两边的值都为假时返回假,否者返回真。
print(1 < 2 or 5 > 4) # Trueprint(1 == 2 or 5 > 4) # Trueprint(1 == 2 or 5 == 4) # False
逻辑运算符(or)在判断语句中的应用,判断小学生的数学成绩是否超出0~100的范围。
score = int(input('请输入分数:'))if score > 100 or score < 0: print('分数超出0~100的范围')
执行结果如下:
逻辑运算符(not)
值 | 结果 |
真 | 假 |
假 | 真 |
逻辑运算符(not)用来做非运算,当值为真时返回假,值为假时返回真。
print(not 1 < 2) # Falseprint(not 1 == 2) # Trueprint(not 1 > 2) # True
逻辑运算符(not)在判断语句中的应用,判断小学生的数学成绩是否超出0~100的范围。
score = int(input('请输入分数:'))if not 0 <= score <= 100: print('分数超出0~100的范围')
执行结果如下:
综合运用
现有3条线段a、b、c,请判断这三条线段能否构成三角形。如果能构成三角形,请判断构成的三角形是等边、等腰还是普通三角形。
a = int(input('请输入线段a的长度:'))b = int(input('请输入线段b的长度:'))c = int(input('请输入线段c的长度:'))if a + b > c and a + c > b and b + c > a: if a == b == c: print('三条线段a、b、c能构成等边三角形') elif a == b or a == c or b == c: print('三条线段a、b、c能构成等腰三角形') else: print('三条线段a、b、c能构成普通三角形')else: print('三条线段a、b、c不能构成三角形')
执行结果如下:
来源地址:https://blog.csdn.net/qq_40148262/article/details/131363359