前言:
眼前各位老铁们对“c语言if语句多个条件怎么用”大概比较关切,看官们都想要了解一些“c语言if语句多个条件怎么用”的相关资讯。那么小编在网摘上搜集了一些关于“c语言if语句多个条件怎么用””的相关资讯,希望咱们能喜欢,各位老铁们一起来学习一下吧!学习目录
1. 条件语句结构
2. 布尔值的判断
3. not 表达式表示相反逻辑
4. == 和is判断的区别
5. 三元表达式(三元运算)
6. 使用all() 和any()函数进行条件判断
7. 使用and 和or判断
8. if __name__ == '__main__'的含义
python的条件语句是指当表达式判断为True(bool值)时执行代码块。
条件语句结构
if 表达式: #表达式为True时 执行代码块1
代码块1
elif 表达式: #表达式为True时 执行代码块2
代码块2
elif 表达式: #表达式为True时 执行代码块3
代码块3
....支持多个elif表达式
else: #以上表达式都为False时 执行代码块n
代码块n
以上结构中elif和else条件语句为非必须。
布尔值的判断
条件表达式判断的是布尔值为True或者False,可以使用函数bool()判断对象的布尔值。
#数字0的布尔值print(bool(0))#打印结果False#数字1的布尔值print(bool(1))#打印结果True
一些内置对象的布尔值说明:
布尔值为False: 数字0,None,False,空列表[],空字典{},空集合set(),空元组()布尔值为True: 非数字0,True,非空列表,非空字典,非空集合set(),非空元组(),自定义的类和实例
自定义的类和实例的布尔值为True:
class Fruit(): def __init__(self,name,color): self.name = name self.color = colorfruit = Fruit('apple','red')print(f'自定义的class 布尔值为{bool(Fruit)}')print(f'自定义的实例 布尔值为{bool(fruit)}')#打印结果自定义的class 布尔值为True自定义的实例 布尔值为Truenot 表达式表示相反逻辑
举例:当表达式为False时,使用not+表达式,if条件判断为True,会执行代码块1
if not 表达式: 代码块1== 和is判断的区别
== 判断的是两个对象的值是否相等,而is判断的是对象的内存地址是否一致。
举例:变量A和B都为一个空列表
A = []B = []#使用==判断if A == B: print('A等于B')#打印结果为True 表示A和B的值一致True#使用is判断print(f'A的内存地址 {id(A)}')print(f'B的内存地址 {id(B)}')if A is B: print('A和B的内存地址是同一个')else: print('A和B的内存地址不是同一个')#执行结果如下 表示A和B的内存地址不是同一个 表达式为FalseA的内存地址 4509789696B的内存地址 4509759936三元表达式(三元运算)
是一个简化的条件表达式,结构如下:expression为True时执行代码块1,否则执行代码块2
[代码块1] if [expression] else [代码块2]
A = 15B = 15if A == B: C=A+Belse: C=A-B
以上条件语句可以简化为:
C = A+B if A==B else A-B使用all() 和any()函数进行条件判断
all() 函数的语法 :all(iterable) 参数为可迭代对象
对于迭代对象的的所有值,如果 bool()的结果都为 True,则返回 True,如果可迭代对象为空,返回 False
any() 函数的语法 :any(iterable) 参数为可迭代对象
对于迭代对象的的所有值,如果 bool()的结果任意一个为 True,则返回 True,如果可迭代对象为空,返回 False
举例:列表A有四个数字,判断列表的数字是否被2整除,只有数字2和4被2整除(列表表达式请学习python列表介绍)
listA = [1,2,3,4]#通过前面文章提到的列表表达式 生成新列表传入all和any函数print(f'执行all()函数的结果: {all([i%2 ==0 for i in listA])}')print(f'执行any()函数的结果: {any([i%2 ==0 for i in listA])}')#结果如下执行all()函数的结果: False执行any()函数的结果: True使用and 和or判断
有两个表达式A和B
A和B都为True时 A and B 结果为True
A和B有一个为False时 A and B 结果为False
A和B有一个为True时 A or B 结果为True
A和B都为False时 A or B 结果为False
A = TrueB= Falseif A and B: print(f'A和B都为True时 A and B 结果为True')else: print(f'A和B有一个为False时 A and B 结果为False')#打印结果:A和B有一个为False时 A and B 结果为Falseif A or B: print(f'A和B有一个为True时 A or B 结果为True')else: print(f'A和B都为False时 A or B 结果为False')#打印结果A和B有一个为True时 A or B 结果为Trueif __name__ == '__main__'的含义
python模块(单个的.py文件是一个模块)中使用if __name__ == '__main__'时,指只有直接运行该py文件时if判断才会生效,而当该模块被其他模块import导入时则不会生效。
定一个test.py文件,文件内容如下:print(f'test.py的属性__name__值为: {__name__}')if __name__ == '__main__': print('执行该内容')#运行test.py 结果: if __name__ == '__main__'判断为Truetest.py的属性__name__值为: __main__执行该内容当test.py同级目录的另一个文件test1.py通过import导入test.py时:test1.py文件内容如下:import test#运行test1.py的结果:test.py的属性__name__值为: test解释:if __name__ == '__main__'判断为False,因为__name__值变成了文件名test,而不再是__main__
共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”
-----指水滴不断地滴,可以滴穿石头;
-----比喻坚持不懈,集细微的力量也能成就难能的功劳。
----感谢读者的阅读和学习,谢谢大家。
标签: #c语言if语句多个条件怎么用 #pythonforif一行 #c语言的if语句中用作判断的条件表达式为 #python输入不确定个参数