[英]How do you fix "TypeError: tuple indices must be integers or slices, not str" error from nested dictionaries in Python?
[英]How do you fix with python - TypeError: must be str, nor int -?
def rotate(letter, key):
new = ord(letter)
new = chr(new) + key
return new
new = rotate(" "," ")
print(new)
出于某种原因,代码允许我输入消息和密钥,但随后给了我 TypeError。
new
是letter
的字符代码。 您应该在将其转换回字符之前添加到new
,而不是之后。
new = chr(new + key)
如果我正确格式化您的代码,我认为您的代码如下所示:
def rotate(letter, key):
new = ord(letter)
new = chr(new) + key
return new
ord
函数接受一个字母并输出该字母的字符代码。 chr
函数接受一个字符代码并将其转换回一个字母。 发生的事情是您正在向字母添加密钥,而不是数字,而您不能这样做。 我认为你所期望的是,而不是有chr(new) + key
你会有chr(new + key)
。 所以代码如下所示:
def rotate(letter, key):
new = ord(letter)
new = chr(new + key)
return new
这也可以通过组合chr
、 ord
和return
来缩短。
def rotate(letter, key):
return chr(ord(letter) + key)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.