python多个if_python中的多个IF语句

本文介绍了如何在Python中使用if、elif和else语句进行条件判断,特别是在检查多个单元格内容的情况下。博客指出,使用break语句可能导致未预期的行为,并推荐使用elif来替代,确保代码按预期顺序执行。通过示例代码,解释了如何避免在检查多个条件时重复输出。
摘要由CSDN通过智能技术生成

我正在尝试在特定单元格中打印内容。 我知道在将内容提取到输出之前要检查的单元格。 我正在使用多个IF语句:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18if lineCount == 5:

if line[0]:

print line[0], 'A5'

OPfound = 1

break

if line[1]:

print line[1], 'B5'

OPfound = 1

break

if lineCount == 4:

if line[0]:

print line[0], 'A4'

OPfound = 1

break

if line[1]:

print line[1],'B4'

OPfound = 1

break

输出格式如下: - 提取的内容,单元格编号

我想要做的是首先检查A5中是否有任何内容 - 如果有内容然后提取它...否则检查B5中的内容 - 如果有内容然后提取它...否则检查A4中的内容

我得到B5和A4的输出......但不是A5

如果A5,B5和A4中没有内容,我如何检查B4中的内容...

请扩展您的代码以包含有关line和lineCount的信息。 此外,你的缩进是远离。

什么是"细胞"?

我希望当你粘贴它时,你的缩进已经搞砸了,即使它确实有效。

你可以print"A{}".format(linecount)来压缩一些代码

您是否对break实际执行的内容或if语句的更多详细信息进行了任何研究?

Darian Moody在他的博客文章中有一个很好的解决方案:

1

2

3

4

5

6

7

8

9

10a = 1

b = 2

c = True

rules = [a == 1,

b == 2,

c == True]

if all(rules):

print("Success!")

当给定iterable中的所有元素都为true时,all()方法返回True。如果不是,则返回False。

您可以在此处的python文档中阅读更多相关内容以及此处的更多信息和示例。

(我也在这里用这个信息回答了类似的问题 - 如何在python中为一个if语句提供多个条件)

首先,您不要使用break结束Python代码块。 Python在看到你缩进后会结束一个代码块,如下所示:

1

2

3if condition: //or any other statement that needs a block

//code goes here

//end of block

break语句用于终止它可以找到的最内层循环。如果您在循环下运行该代码,break语句可能会产生一些严重的错误。

无论如何,有一种更传统的方法来测试多种条件下的东西。没有break语句的当前设置应该有效,但我建议您使用if...elif...else语句。这是格式:

1

2

3

4

5

6

7

8

9

10

11if condition:

//run if true

elif condition:

//run if first expression was false, and this is true

elif condition:

//run if second expression was false, and this is true

... (you get the idea)

else:

//run if all other expressions are false

请记住,在Python找到一个在这样的语句中为真的表达式之后,它将运行相应的代码块并忽略所有其他块。

希望这可以帮助!

break不允许你离开if条款,如果那是你确实试图突破的条款。这里的技巧是删除break语句并用elif替换你的第二个if,如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14if lineCount == 5:

if line[0]:

print line[0],'A5'

OPfound = 1

elif line[1]:

print line[1],'B5'

OPfound = 1

if lineCount == 4:

if line[0]:

print line[0],'A4'

OPfound = 1

elif line[1]:

print line[1],'B4'

OPfound = 1

这样,如果第一个语句失败,则每个lineCount子句只运行第二个if语句,而不是每次都失败。

这几乎给了我所要求的......但是如果A5中有内容我不想要读A4 ...现在我得到了A4和A5的输出......这将是什么解决方案?

@safwan只是在第二个外面if if statement是elif:例如elif lineCount==4:

elif意味着,如果之前的if或elif条件不正确(并且只有不是),那么检查一下。 elif代表其他如果。 还有else,它涵盖了您未包含的任何条件。 在if语句中放置if语句是一种嵌套形式(嵌套if语句)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值