AttributeError: 'str' object has no attribute 'append' in python 2
AttributeError: 'str' object has no attribute 'append' in python 2
我会给你我的 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' object has no attribute 'append'
当您从用户读取输入时,它是字符串类型 -
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
不是原来的列表,你原来的列表叫nm
,nms
就是你刚才读取的字符串。另外 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
以后会考虑用+=
我会给你我的 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' object has no attribute 'append'
当您从用户读取输入时,它是字符串类型 -
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
不是原来的列表,你原来的列表叫nm
,nms
就是你刚才读取的字符串。另外 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
以后会考虑用+=