python--条件

发布时间 2023-11-27 18:32:49作者: 珺璟-zxy

Task 4 条件

条件

if 语句

image-20231125155402824

上边是if语句执行的一个基本流程

下边现在有一个简单的例子

def f(x):
print("A",end = ' ')
if x == 0:
print("B", end = ' ')
print("C", end = ' ')
print("D")
f(1)  #运行结果是AD
def abs(x):
if x < 0:
x = -x
return x

在这个语句中是求的是一个数的绝对值,但是要注意的是if以及下一行if的内容最后换成两行,写成缩进的形式,不要写在一行,除非特殊情况

多个返回结果

def abs(x):
if x < 0:
return -x
return x

使用布尔表达式

def abs4(n):
   return (n < 0)*(-n) + (n>=0)*(n)

这个形式虽然可以得到相应的结果,但是太奇怪了,人去看的话,有时候都会存在看不懂的情况,建议不要这样写

if-else语句

x = input("x= ")
x = float(x)
print("hello")
if x < 10:
print("whale")
print("goodbye")

image-20231125161000243

image-20231125161031155

所以我们可以重新设计上边的绝对值的函数

def abs(x):
if x < 0:
x = -x
else:
return x

if-elif-else语句

image-20231125161350564

def f(x):
   print("A", end="")
   if x == 0:
       print("B", end="")
       print("C", end="")
   elif x == 1:
       print("D", end="")
   else:
       print("E", end="")
       if x == 2:
           print("F", end="")
       else:
           print("G", end="")
   print("H")

上边这是一个例子,看可以自己去运行尝试一下

但是我们会遇到elif出现很多的这种情况

比如录入学生成绩等级:

def getGrade(score):
   if score >= 90:
       grade = "A"
   elif score >= 80:
       grade = "B"
   elif score >= 70:
       grade = "C"
   elif score >= 60:
       grade = "D"
   else:
       grade = "F"
   return grade

print("103 -->", getGrade(103))
print(" 88 -->", getGrade(88))
print(" 70 -->", getGrade(70))
print(" 61 -->", getGrade(61))
print(" 22 -->", getGrade(22))

image-20231125161750536

为了避免使用多个elif语句,我们可以了解到match-case语句

Python3 条件控制 | 菜鸟教程 (runoob.com)

其实他与C语言中的switch-case语句

清晰的代码风格

在保证代码正确运行的前提下,一定要保证清晰的代码,简洁明了,这样不容易出现bug