2015-09-15 21 views
5

Cho đến nay những gì tôi có làLàm cách nào để tạo các số ngẫu nhiên không lặp lại trong một vòng lặp 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() 

và đầu ra kết thúc lên con một cái gì đó dọc theo dòng của

e 
e 
c 
b 
e 

Làm thế nào để làm cho nó do đó, một số chỉ được sử dụng một lần và các chữ cái không lặp lại? (Một cái gì đó cũ. Như)

a 
e 
b 
c 
d 

Cảm ơn trước

+3

bạn có thể thử 'random.sample ("abcde", 5) '[ngẫu nhiên thư viện python 3] (https://docs.python.org/3.0/library/random.html) –

+1

mã cụ thể của bạn ví dụ cho thấy bạn muốn 'L = list (" abcde "); random.shuffle (L) 'nghĩa là, có một hoán vị ngẫu nhiên của các chữ cái' abcde '. – jfs

Trả lời

9

Phương pháp random.sample(population, k) trả về một mẫu của các giá trị độc đáo từ quần thể quy định độ dài k.

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

okay hoạt động cảm ơn bạn! – zeurosis

+0

@zeurosis nếu nó làm việc cho bạn hãy chọn nó như là câu trả lời được chấp nhận – asdf

+0

xin lỗi làm thế nào để tôi làm điều đó? Tôi đã không sử dụng trang web này một toàn bộ rất nhiều – zeurosis

Các vấn đề liên quan