首页 > 解决方案 > 创建一个字典,键是两个单独的输入

问题描述

我希望能够创建一个字典,它将两个输入组合为键并将 if 和 elif 函数的输出存储为值。

到目前为止,我的代码如下所示:

    dict = {}
r = int(input("what row:   "))
    c = int(input("what column:   "))
    a = 0.0
    b = 0.0

def weightOn(r,c):
    global a
    global b
    
    if r < 0:
        print('Not valid')
    elif r == 0 and c == 0:
        return a
    elif r > 0 and c == 0:
        a += 200 / (2 ** r)
        return weightOn(r - 1, 0)
    elif r > 0 and c == r:
        a += 200 / (2 ** r)
        return weightOn(r - 1, 0)
weightOn(r,c)

    
if r > c > 0:
    print(b)
else:
    print(a)

我希望变量 r & c 作为键,所以如果我输入 r 作为 2 和 c 作为 1,它会将值保存为 100。所以希望我的字典看起来像:dict = {2.1 :100} 等等.

标签: pythondictionary

解决方案


您可以使用元组作为键:

d = {(r,c): weightOn(r,c)}

根据用例,分层字典也可能有用:

d = {r : {c: weightOn(r,c)}}

推荐阅读