gpt4 book ai didi

python 3.x : AttributeError: 'str' object has no attribute 'append'

转载 作者:太空宇宙 更新时间:2023-11-04 03:26:07 26 4
gpt4 key购买 nike

我正在尝试编写一个简短的脚本,将单词或句子转换为其字母值,然后向前跳转 5 个值,并将结果打印为字符串。例如

['a', 'b', 'c']

应该改为...

'102 103 104'

但是,我只得到上面的错误。有问题的代码:

def enc(input, output, seq, str_int):
input = input.lower()
output = []
for char in input:
num = ord(char) + 5
str_int = str(num)
output.append(str_int)
output = seq.join(output)
return output
print(enc("hello", [], ' ', ' '))

我确定我只是遗漏了一些非常明显的东西。谢谢。

最佳答案

出现问题是因为线路-

output = seq.join(output)

根据缩进,这是在 for 循环内,因此在 for 循环内,您正在将 output 变量更改为 str (string) ,之后当您尝试执行 output.append() 时,它会出错。这是问题的主要原因。

我猜您实际上只是打算在完全创建 output 列表之后在循环之外执行此操作。但你真的不需要将其设置回去,你可以简单地做 -

def enc(input, output, seq, str_int):
input = input.lower()
for char in input:
num = ord(char) + 5
str_int = str(num)
output.append(str_int)
return seq.join(output)

演示 -

>>> def enc(input, output, seq, str_int):
... input = input.lower()
... for char in input:
... num = ord(char) + 5
... str_int = str(num)
... output.append(str_int)
... return seq.join(output)
...
>>> print(enc("hello", [], ' ', ' '))
109 106 113 113 116

关于 python 3.x : AttributeError: 'str' object has no attribute 'append' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32943002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com