2016-04-10 63 views
0

有人能告诉我我做错了什么吗?我写使用循环在Python 3.x的一个程序,但是当我执行程序我得到一个回溯的错误:如下 回溯(最近最后一次通话)Python,循环程序

的13倍数为195和因素有: 文件“C:/用户/达林/桌面/第4章/ program4_2.py”,第19行,在 list1.append(J) AttributeError的: '字典' 对象没有属性 '追加'

这是代码我输入了:

def main(): 
    for i in reversed(list(range(100,201))): 
    if i%13==0: 
     print("multiple of 13 is",i,"and factors are as follows") 
     list1 = {} 
     for j in list(range(2,i+1)): 
      if i%j == 00: 
      list1.append(j) 
     print(list1) 
main() 
+0

如果我没有记错,'list1 = {}'声明了一个字典,而不是一个列表,因此没有与之关联的'append'方法。 –

回答

0

list1必须是像这样的列表...

list1 = [] 

你将它定义为一个字典,并作为蟒蛇说

“字典”对象有没有属性“追加”

0

正如评论卢克园,list1 = {}将宣布一本字典。你需要的是list1 = []

此外,范围将返回一个range类型,可以由大多数方法和循环处理,因此不需要将其转换为列表。