如何修复python-TypeError:必须是str,也不能是int-?

如何修复python-TypeError:必须是str,也不能是int-?,python,typeerror,grok,Python,Typeerror,Grok,出于某种原因,代码允许我输入消息和键,但随后给出了类型错误。new是字母的字符代码。您应该在将其转换回字符之前,而不是转换之后,添加到新的 def rotate(letter, key): new = ord(letter) new = chr(new) + key return new new = rotate(" "," ") print(new) 如果我正确格式化了您的代码,我认为您的代码如下所示: def旋转(字母、键): 新=or

出于某种原因,代码允许我输入消息和键,但随后给出了类型错误。

new
是字母的字符代码。您应该在将其转换回字符之前,而不是转换之后,添加到新的

def rotate(letter, key):
  new = ord(letter)
  new = chr(new) + key
  return new

new = rotate(" "," ")
print(new)

如果我正确格式化了您的代码,我认为您的代码如下所示:

def旋转(字母、键):
新=ord(字母)
新=换码器(新)+键
还新
ord
函数获取一个字母并输出该字母的字符代码。
chr
函数获取字符代码并将其转换回字母。发生的事情是,你在给字母加钥匙,而不是给数字加钥匙,你不能这样做。我认为您所期望的是,您将拥有
chr(new+key)
而不是
chr(new+key)
。因此,代码如下所示:

def旋转(字母、键):
新=ord(字母)
新建=chr(新建+键)
还新
通过组合
chr
ord
return
,也可以缩短时间

def旋转(字母、键):
返回chr(ord(字母)+键)

你能提供输入和预期输出吗?(输入)-Word:-animal(输入)-Key:-1(输出)bojnbm那么,你在这行中犯了一个错误:
new=chr(新)+Key
你得到的是
TypeError
,因为在那里
chr(新)
是一个
str
,而
Key
是一个
int
。如果我没有弄错,那么将这一行更改为:
new=chr(new+key)
应该可以修复这个错误。
new = chr(new + key)