python - 创建一个字典,键是两个单独的输入
问题描述
我希望能够创建一个字典,它将两个输入组合为键并将 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} 等等.
解决方案
您可以使用元组作为键:
d = {(r,c): weightOn(r,c)}
根据用例,分层字典也可能有用:
d = {r : {c: weightOn(r,c)}}
推荐阅读
- swift - GIDSignIn.sharedInstance : sharedInstance 不是函数?
- java - 权限不足:请求的身份验证范围不足。谷歌云端硬盘
- angular - 在 Visual Studio 2019 项目中更新 Angular 版本
- python - 尽管密钥存在,但由于密钥错误而不会生成 Wordcloud
- flutter - 我在设备资源管理器中找不到数据库
- python - OPCUA 服务器没有收到主机/端口/sock 来启动
- r - 错误:“unmarkedFitOccu”类的这个对象没有名为“occ_df”的插槽
- postgresql - 确定哪个服务侦听通知但不使用它们
- c# - 如何根据 ForeignKeyConstraint 处理删除触发的异常?
- python - 异步搜索方法 Python Ldap3