2016-07-05 3 views
-1

나는 def에서 반복없이 문장을 무작위로 추출 할 수 있습니다.파이썬 : 반복없이 무작위로 반복하지만,

def yellowJeden(x,m): 
    if m <= 25: 
     zd1 = "Juz na samym poczatku meczu "+ x.strip() + " dostal" 
     zd2 = "Juz w " + str(m) + ". minucie meczu zawodnik druzyny "+ druzyna1 + " dostal zolta kartke. "+ x.strip() + " sfaulowal swojego przeciwnika." 
     zd3 = x.strip() + " juz w poczatkowych minutach meczu otrzymal zolta kartke za nieczyste zagranie. Sfaulowal on zowodnika druzyny przeciwnej. " 

     zolta1 = [zd1, zd2, zd3] 
     zolta1Index = random.randint(0, len(zolta1)-1) 
     print zolta1[zolta1Index] 
     zolta1.remove(zolta1[zolta1Index]) 

def akcja(): 
    a = line.split(',') 
    min = int(a[1]) 
    if a[2] == ' yellow1': 
     yellow1 = a[3] 
     yellowJeden(yellow1, min) 
    elif a[2] == ' yellow2': 
     yellow2 = a[3] 
     yellowDwa(yellow2, min) 

for line in fh: 
    if line.startswith('1.'): 
     akcja() 
    elif line.startswith('2.'): 
     akcja() 
    elif line.startswith('3.'): 
     akcja() 

더 복잡합니다. 나는 모든 문장을 쓰고 싶지 않다.

답변

2

이와 비슷한 제품을 찾고 계십니까?

>>> import random 
>>> def ShuffleSentences(): 
...  sentences = [ "First sentence", "Second sentence", "Third sentence", "last sentence"] 
...  random.shuffle(sentences) 
...  for s in sentences: 
...   print s 
... 
>>> ShuffleSentences() 
Second sentence 
last sentence 
Third sentence 
First sentence 
>>> ShuffleSentences() 
Second sentence 
First sentence 
Third sentence 
last sentence 
>>> ShuffleSentences() 
Second sentence 
Third sentence 
First sentence 
last sentence 
>>> 
1

문장 (예 : 목록)의 모음을 고려하십시오. random.shuffle을 사용하여 컬렉션을 임의로 재생하십시오. 그런 식으로 중복을 피하십시오.

관련 문제