gpt4 book ai didi

python - 类型错误 : "' types. GenericAlias 的对象不可迭代”

转载 作者:行者123 更新时间:2023-12-04 08:32:51 24 4
gpt4 key购买 nike

我正在做的一个项目是将文本转换成数字。 (例如,“hello world”将转换为“8 5 12 12 15 27 23 15 18 12 4”)。

在我的代码的第 10 行,for 循环导致以下错误消息:

Traceback (most recent call last):
File "C:\Users\gabri\PycharmProjects\padding\main.py", line 15, in <module>
converter(plaintext)
File "C:\Users\gabri\PycharmProjects\padding\main.py", line 10, in converter
for n in plaintext:
TypeError: 'types.GenericAlias' object is not iterable

Process finished with exit code 1

我的代码如下:

alphabet = ("a","b","c","d","e","f","g","h","i","j","k","l","m",'n',"o","p","q","r",'s','t','u','v','w','x','y','z')


def getplaintext():
global plaintext
plaintext = list[input("Enter plaintext:.....")]
print(plaintext)

def converter(plaintext):
for n in plaintext:
print(n)


getplaintext()
converter(plaintext)

有人知道是什么导致了这个错误吗?

最佳答案

您需要将 list() 一起使用,而不是 []

plaintext = list(input("Enter plaintext:....."))  # With ()

在较新版本的 Python 中,容器类型如 list can be hinted directly指定容器中元素的类型。通过在此处使用方括号,您可以创建列表的通用类型提示(“通用别名”)。列表的通用别名是不可迭代的,因为它实际上不是列表。这就是导致您出错的原因。

关于python - 类型错误 : "' types. GenericAlias 的对象不可迭代”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64938827/

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