私の宿題では、リスト内のアイテムをランダムに選択することになっています。これまでのところ、私はこのコードを持っています。
import random
room = range(0, 365)
r = random.choice(room)
mySet = set(r)
ただし、プログラムを実行しようとすると、「 'int' is no iterable」と表示されます。
どうすればこの問題を解決できるのだろうかと思っていました。
私の宿題では、リスト内のアイテムをランダムに選択することになっています。これまでのところ、私はこのコードを持っています。
import random
room = range(0, 365)
r = random.choice(room)
mySet = set(r)
ただし、プログラムを実行しようとすると、「 'int' is no iterable」と表示されます。
どうすればこの問題を解決できるのだろうかと思っていました。
また、セットには単一の値しかないため、反復するものは1つだけです。random.choice
この場合は int で、シーケンス内の 1 つの要素のみを返します。これは python エラーの原因ではありません (sneeu が言うように int は iterable ではありません) が、探しているものとは異なる結果になります。random.sample
おそらくより良い選択です
割り当ての説明に基づいて、セットを何かで初期化する必要はありません。各テストでセット内の要素のみを追加し、セットのサイズと挿入数を確認する必要があります。
そのため、init は次のようにする必要があります: import random
room = range(0, 365)
mySet = set()
PS 初期化の下のコードが正しくありません
int から set オブジェクトを作成しているため、エラーが発生しました。セットは、単一のオブジェクトではなく、イテラブル (リストなど) から作成する必要があります。
したがって、これの代わりに: mySet = set(r) これを行う必要があります: mySet = set([r])
宿題のノートに従ってみませんか?
注 各テストでは、Random.randint を使用して、誕生日を表す 0 から 365 までの数字を選択する必要があります。
randint() は、リストを作成しなくてもランダムな整数を返します。これは、使用している関数で必要なものです:choice()