2015-09-15 17 views
5

Şimdiye kadar neBir süre döngüsünde tekrar edilmeyen rastgele sayıları nasıl oluştururum? (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() 

ve çıkış

e 
e 
c 
b 
e 

çizgisinde varlıklar şey biter nasıl bu kadar bir sayı sadece bir kez kullanılır yapabilirim ve harfler tekrar etmiyor mu? (gibi eski. Bir şey) peşin

+3

Eğer 'random.sample deneyebilirsiniz ("abcde", 5)' [rastgele kütüphane piton 3] (https://docs.python.org/3.0/library/random.html) –

+1

belirli kod örnek, istediğiniz anlamına gelir L = liste ("abcde"); random.shuffle (L) '', '' abcde ''harflerinin rasgele bir permütasyonunu elde edin. – jfs

cevap

9

random.sample(population, k) yöntem uzunluğu k belirtilen popülasyondan benzersiz değerlerin bir örneğini döndürür içinde

a 
e 
b 
c 
d 

teşekkürler.

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

tamam çalışıyor, teşekkürler! – zeurosis

+0

@zeurosis sizin için çalışıyorsa lütfen kabul edilen yanıt olarak onu seçin – asdf

+0

üzgünüm Bunu nasıl yaparım? Bu web sitesini bir sürü kullanmamıştım – zeurosis

İlgili konular