在下面的代码中,我们将值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
答案 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)
循环中的代码只执行一次......