AttributeError:'str'对象在python 2中没有属性'append'

2024-09-30 16:34:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我会给你我的python代码(它非常简单和小),如果你能告诉我哪里错了。非常感谢,不要讨厌:)

ekt=[]
pl=[]
nm=[]
for i in range(5):
    nms=raw_input("Ποιο το όνομα της χώρας?")
    ekts=input("Ποια η εκταση της χώρας αυτής?")
    pls=input("Ποιός είναι ο πληθυσμός της χώρας αυτής?")
    nms.append(ekt)
    ekts.append(ekt)
    nms.append(nm)
max_ekts=-2
min_pls=-2
for i in range(5):
    if ekt[i]>max_ekts:
        max_ekts=ekt[i]
        max_ekts_nm=nm[i]
    if pl[i]>min_pls:
        min_pls=pl[i]
        min_pls_nm=nm[i]
    sum_pls=sum_pls+pl[i]
mo_pls=max_pls/5.0
print"Χώρα με την μεγαλύτερη έκταση:",max_ekts_nm
print"χώρα με το μικρότερο πληθυσμό:",min_pls_nm
print"O μέσος όρο του πληθυσμού των 15 χωρών της Ευρωπαϊκής Ένωσης:",mo_pls

错误是:AttributeError:“str”对象没有属性“append”


Tags: inforinputifrangeminmaxpl
3条回答

从用户处读取输入时,输入类型为字符串-

nms=raw_input("Ποιο το όνομα της χώρας?")

nms是字符串。之后,您尝试将其nms.append(ekt)追加,但字符串类型没有追加。我猜你的意思是nm.append(nms)

您的错误非常简单,尽管在代码开头声明了以下列表:

ekt=[]
pl=[]
nm=[]

接下来要做的是使用这些非常相同的变量名来捕获输入:

nms=raw_input("Ποιο το όνομα της χώρας?")
ekts=input("Ποια η εκταση της χώρας αυτής?")
pls=input("Ποιός είναι ο πληθυσμός της χώρας αυτής?")

但您并不是在原始列表上追加,代码是这样的:

nms.append(ekt)
ekts.append(ekt)
nms.append(nm)

但是nms不是原始列表,您的原始列表称为nmnms是您刚刚读取的字符串。另外ekt是您试图附加的值,它不是您读取的字符串(称为ekts),ekt是您在代码开头声明的列表。因此,基本上,您试图将列表附加到字符串对象,但这是无法完成的。同样的事情也适用于下面的行,请重新检查变量的名称

好的,我想我已经修好了我的代码,它实际上有点工作,看一看!我试着在输入字符串时使用.append,效果很好!!`

ekt=[]
pl=[]
nm=[]
for i in range(5):
    nms=raw_input("Ποιο το όνομα της χώρας?")
    ekts=input("Ποια η εκταση της χώρας αυτής?")
    pls=input("Ποιός είναι ο πληθυσμός της χώρας αυτής?")
    ekt.append(ekts)
    pl.append(pls)
    nm.append(nms)
max_ekts=-2
min_pls=-2
sum_pls=0
for i in range(5):
    if ekt[i]>max_ekts:
        max_ekts=ekt[i]
        max_ekts_nm=nm[i]
    if pl[i]>min_pls:
        min_pls=pl[i]
        min_pls_nm=nm[i]
    sum_pls=sum_pls+pl[i]
mo_pls=sum_pls/5.0
print"Χώρα με την μεγαλύτερη έκταση:",max_ekts_nm
print"χώρα με το μικρότερο πληθυσμό:",min_pls_nm
print"O μέσος όρο του πληθυσμού των 15 χωρών της Ευρωπαϊκής Ένωσης:",mo_pls
我以后会考虑使用+=

相关问题 更多 >