python中if和elif的区别_多个If和Elif的Python之间的区别

以下是另一种思考方式:

假设您有两个特定的条件,即if / else catchall结构是不够的:

例:

我有一个3 X 3 tic-tac-toe板,我想打印两个对角线的坐标,而不是其余的正方形。

7k6WU.gif

我决定使用和if / elif结构代替......

for row in range(3):

for col in range(3):

if row == col:

print('diagonal1', '(%s, %s)' % (i, j))

elif col == 2 - row:

print('\t' * 6 + 'diagonal2', '(%s, %s)' % (i, j))输出是:

diagonal1 (0, 0)

diagonal2 (0, 2)

diagonal1 (1, 1)

diagonal2 (2, 0)

diagonal1 (2, 2)可是等等!我想包括diagonal2的所有三个坐标,因为(1,1)也是对角线2的一部分。

'elif'引起了对'if'的依赖,因此如果原来'if'被满足,'elif'将不会启动,即使'elif'逻辑也满足条件。

让我们将第二个“elif”更改为“if”。

for row in range(3):

for col in range(3):

if row == col:

print('diagonal1', '(%s, %s)' % (i, j))

if col == 2 - row:

print('\t' * 6 + 'diagonal2', '(%s, %s)' % (i, j))我现在得到了我想要的输出,因为两个'if'语句是互斥的。

diagonal1 (0, 0)

diagonal2 (0, 2)

diagonal1 (1, 1)

diagonal2 (1, 1)

diagonal2 (2, 0)

diagonal1 (2, 2)最终知道您想要实现的类型或结果将决定您编码的条件关系/结构的类型。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值