使用条件

时间:2016-12-26 22:29:17

标签: python python-2.7

在下面的代码中,我们将值0.5赋给变量b。然后我们为变量L1和L2分配一个字母,并将其存储在字典中。 最后,我们有4个方程(P11,P12,P21,P22),我们将这些变量加起来。

我的具体问题:

我怎样才能重新分配" (在每个等式中)值0到b,仅当两个字典值都是0?

我在伪代码中的问题:

In all the equations Pii:
if Di[Li]==0 and Di[Li]==0:
then b==0

我的代码:

import random
b=0.5
L1= random.choice("ABCDEFGH")
L2= random.choice("ABCDEFGH")
D1 = {"A":0,"B":0,"C":0,"D":0,"E":0,"F":0,"G":0,"H":0}
D2 = {"A":0,"B":0,"C":0,"D":0,"E":0,"F":0,"G":0,"H":0}
for n in range(1):
    D1[L1] += 1
for n in range(1):
    D2[L2] += 1

P11=D1[L1]+D2[L1]+b
P12=D1[L2]+D2[L2]+b
P21=D1[L1]+D2[L2]+b
P22=D1[L2]+D2[L1]+b

print P11, P12, P21, P22

在这种情况下,我希望获得:

P11= 1 + 0 + 0.5
P12= 0 + 1 + 0.5
P21= 1 + 1 + 0.5
P22= 0 + 0 + 0

2 个答案:

答案 0 :(得分:0)

请勿更改b的值,只需更改是否添加def with_b(x, y): result = x + y if not (x == y == 0): result += b return result P11 = with_b(D1[L1], D2[L1]) P12 = with_b(D1[L2], D2[L2]) P21 = with_b(D1[L1], D2[L2]) P22 = with_b(D1[L2], D2[L1])

overflow: hidden;
padding-top: 9999px;

答案 1 :(得分:0)

我不确定你的最终目标是什么,但如果我理解得很好,你的问题是:"如何使用条件?" 你可以根据这个synthax做点什么:

if(dictionnaryValue1==0 and dictionnaryValue2==0):
   b=0

我不理解你的循环"因为" :for n in range(1) 循环中的代码只执行一次......