Python中如何编写多行多条件的if语句?
Python多行多条件if语句的正确写法
当你把多条件if语句拆分成多行时会触发语法错误,这是因为Python默认不会自动识别换行后的条件。以下几种方法可以解决这个问题:
方法1:使用反斜杠\续行
在每行末尾添加反斜杠,明确告知Python这行代码尚未结束:
exam1 = 70 exam2 = 60 exam3 = 50 if (100 >= exam1 and exam1 >= 60) or \ (100 >= exam2 and exam2 >= 60) or \ (100 >= exam3 and exam3 >= 60): print("You passed!!")
方法2:用外层括号包裹整个条件表达式
利用Python的括号自动续行特性,把整个判断条件放在一对大括号内:
exam1 = 70 exam2 = 60 exam3 = 50 if ( (100 >= exam1 and exam1 >= 60) or (100 >= exam2 and exam2 >= 60) or (100 >= exam3 and exam3 >= 60) ): print("You passed!!")
方法3:拆分条件到变量,提升可读性
把每个子条件赋值给单独变量,既解决换行问题,还能让代码逻辑更清晰。另外Python支持连续比较,写法可以更简洁:
exam1 = 70 exam2 = 60 exam3 = 50 pass_exam1 = 60 <= exam1 <= 100 pass_exam2 = 60 <= exam2 <= 100 pass_exam3 = 60 <= exam3 <= 100 if pass_exam1 or pass_exam2 or pass_exam3: print("You passed!!")
内容的提问来源于stack exchange,提问作者Super Kai - Kazuya Ito
相关产品推荐
相关产品推荐

