如何修复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)