所以我要完成的任务是两个字符串输入,例如'1'+'2'返回'3',
我希望能够做到这样的事情,
d = {'1': 1, '2': 2, '3': 3}
所以我有一个这样的字典^,然后我可以做
d.get('1')
希望它会返回1,除非它返回None,我将如何解决这个问题?
所以感谢你的帮助,我得到了它的工作类型,虽然由于某种原因它只接受加到4和更低的数字,这是代码,所以你可能更好理解
def code_char(char, key):
d = {'1': 1, '2':2 ,'3': 3 ,'4': 4,'5': 5 ,'6': 6 ,'7': 7 ,'8' :8 ,'9':9}
f = {1: '1', 2: '2' ,3: '3' ,4: '4' ,'5':5 ,'6':6 ,'7':7 ,'8':8 ,'9':9}
sum = d.get(char)+d.get(key)
if sum < 9:
print(f.get(sum))
else:
sum = sum % 10
value = f.get(sum)
print(value)
code_char('1','5')
由于某种原因,code+char('1','3')
将正确返回3但更高,它将只打印无。
这是我的加密器的开始,感谢目前为止的帮助!
答案 0 :(得分:1)
不知道为什么它会为你返回None。这是你真正尝试过的吗?
> d = {'1': 1, '2': 2, '3': 3}
> d.get('1')
1
顺便说一句,您可以通过int函数将字符串转换为int。
> int('1') + int('2')
3
答案 1 :(得分:0)
这就是它的工作原理:D.get(k[,d=None]) -> D[k] if k in D else d
。请务必使用“1”代替1。
答案 2 :(得分:0)
您可以使用大括号:
>>> d = {'1': 1, '2': 2, '3': 3}
>>> d['1']+d['2']
3
或者,如果你想要一个字符串结果:
>>> str(d['1']+d['2'])
'3'
但实际上 - 执行此操作不需要映射:
>>> str(int('22')+int('33'))
'55'