1

1 から 5 までの 10 個のランダムな整数のリストを生成し、各整数が繰り返されるたびに数値を出力するプログラムを作成しようとしています。次に、重複が削除された 2 番目のリストを出力します。現在、最初のリストをまったく生成することさえできません。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

空のリスト firstList を作成し、それに要素を追加してから返します。

于 2013-03-11T15:30:43.517 に答える
0

1) x はリストではなく整数です。だからただ使う

list1 = firstList.append(x)

2) レプリケートを削除したい場合は、リストをセットに変換したいだけかもしれません:

print(set(list1))
于 2013-03-11T15:31:03.967 に答える