由互斥事件和独立事件谈if语句(if-else语句)的写法

if语句是软件工程师进行编程时,常用到的一种语句类型;if语句为代表的条件语句,和顺序语句、循环语句,并称程序中三大类型语句。但非常遗憾的是,很多工程师即使工作好多年,依然不是能正确理解和使用if语句。

正确理解和使用if语句的关键是理解两种事件:

1)互斥事件:互斥事件是不可能同时发生的事件。互斥事件意味着两个事件之间不可能存在着交集,即A∩B=Φ。假设事件A和事件B是互斥事件,则P(A+B)=P(A)+P(B)互斥事件,且P(A)+P(B)≤1。

2)独立事件:说两个事件是独立的,直觉上是指一次实验中一事件的发生不会影响到另一事件发生的概率。设A,B是两事件,如果满足等式P(A∩B)=P(AB)=P(A)P(B),则称事件A,B相互独立,简称A,B独立。

同时,在一定条件下,各种互斥条件加起来,其概略一定为1。即假设在特定条件下,存在一系列互斥事件A、B、C、....,则P(A)+P(B)+P(C)+...=1。

但独立事件则不具有这个性质,因为,独立事件之间,相互不影响P(A)+P(B)+P(C)+...的值具有不确定性。

因此,在进行条件判断时,如果几个事件构成互斥关系,则全部写成if-else 关系;而且,为了程序的健壮性,最后必然加一个else。如果几个事件都是相互独立的,则写成if语句。

典型如:

# 互斥事件
if A:
    A_run()
else:
    non_A_run()
    

# 独立事件
if A:
   A_run()

if B:
    B_run()

if C:
    C_run()

中午简单和人讨论了下这两种场景,有人说一起问题:如果多种条件是独立,但最后必须全部条件满足的话,用if-else是可以满足要求的。我承认他的观点是正确的,但我觉得:这种相互独立,但必须满足会带来一个问题,就是一个错误只能提示一次,造成每次都必须准备新材料(政府部门办事就是这样子的感觉)。而用if独立分支判断,可以一次把所有信息全返回。示例如下:

# 只会顺序展示错误
if A:
    print("A Error!)
elif B:
    print("B Error!")
else:
    print("No Error")


# 多次展示错误
if A:
    print("A Error!)

if B:
    print("B Error!")

显然,独立条件最好独立用if,互斥条件用if-else。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值