1

我正在尝试编写一个程序,该程序生成一个包含 1-5 的十个随机整数的列表,然后在每个整数重复时打印该数字。然后打印删除重复项的第二个列表。现在,我什至根本无法生成第一个列表。我不断收到 TypeError: 'int' object is not iterable

这是我到目前为止所拥有的:

def randomTen():
    """return list of ten integers and the number of times each one
    appears"""
    firstList= []
    for num in range(1,11):
        x= int(random.randint(1,6))
        list1= firstList.append(x)
    print(list1)
4

3 回答 3

4

首先请注意,这可以通过列表理解更轻松地完成:

firstList = [random.randint(1,6) for num in range(1, 11)]

至于您的功能,您需要执行以下操作:

firstList= []
for num in range(1,11):
    x= int(random.randint(1,6))
    firstList.append(x)
print(firstList)

append不返回任何内容,它会更改列表。

于 2013-03-11T15:30:15.303 回答
1
def randomTen():
    """return list of ten integers and the number of times each one
    appears"""
    firstList= []
    for num in range(1,11):
        x= int(random.randint(1,6))
        firstList.append(x)
    return firstList

您首先创建一个空列表,将元素附加到它,然后返回它。

于 2013-03-11T15:30:43.517 回答
0

1) x 是一个整数,而不是一个列表。所以只需使用

list1 = firstList.append(x)

2)如果要删除重复,您可能只想将列表转换为集合:

print(set(list1))
于 2013-03-11T15:31:03.967 回答