2015-09-15 3 views
5

は、これまでのところ私が持っているものは、どのように私は、whileループ内の非繰り返し乱数を生成できますか? (Pythonの3)

import random 
def go(): 
    rounds = 0 
    while rounds < 5: 
     number = random.randint(1, 5) 
     if number == 1: 
      print('a') 
     elif number == 2: 
      print('b') 
     elif number == 3: 
      print('c') 
     elif number == 4: 
      print('d') 
     elif number == 5: 
      print('e') 
     rounds = rounds + 1 
go() 

で、出力は

e 
e 
c 
b 
e 

どのように私はそれがとても数が一度だけ使用されていることを確認しないの線に沿って人間の何かを終了し、手紙は繰り返さない? (例。ようなもの)が予め

+3

あなたは 'random.sample( "ABCDE"、5)' [ランダムライブラリーパイソン3](https://docs.python.org/3.0/library/random.html) –

+1

あなたの特定のコードを試すことができますあなたは 'L = list(" abcde ")が必要だと示唆しています。 random.shuffle(L)は 'すなわち、' "ABCDE" 'の文字のランダムな順列を取得します。 – jfs

答えて

9

a 
e 
b 
c 
d 

おかげrandom.sample(population, k)方法は、長さkの指定された集団からの一意の値のサンプルを返します。

r = random.sample("abcde", 5) 
for element in r: 
    print(element) 
+0

ありがとうございますありがとうございました!それはあなたのために働いていた場合 – zeurosis

+0

@zeurosisは受け入れ答え – asdf

+0

申し訳ありませんが、私はそれをどのように行うかのようにそれを選択してください?私は、あなたが同様にあなたの前の質問にそれをする場合がありますポスト – zeurosis

関連する問題