2016-04-04 30 views
-2

Kodlama konusunda yeniyim, ekranda rasgele görüntülerden birini görüntülemenize yardıma ihtiyacım var. display_number = number_list (random.randint (0, 3)) TypeError: Bu python/pygame - görüntüleri rasgele nasıl görüntüleriz?

number_two = pygame.image.load("two.png") 
number_three = pygame.image.load("three.png") 
number_four = pygame.image.load("four.png") 



display_number = number_list(random.randint(0, 3)) 
display_number = pygame.transform.scale(display_number, 70, 80) 

Ben belirten bir hata mesajı var ... Ben bugüne kadar ne olduğu 'liste' nesne çağrılabilir değil

+0

Lütfen tam yığın izlemeyi ve 'number_list 'tanımını verin. – aluriak

+2

Lütfen alisveris talebiniz olarak 'number_list' tanımı da dahil olmak üzere kodunuzun daha fazlasını gösteriniz. –

+0

köşeli parantezler 'number_list [rasgele ...]', 'number_list' bir işlev değil –

cevap

1

Bir işlevmiş gibi number_list numaralı aramayı deniyorsunuz çünkü parantezleri parantez içine aldınız. Bunun yerine, bir öğeye erişmek istiyoruz, bu yüzden bunun yerine köşeli parantezleri kullanmak:

display_number = number_list[random.randint(0, 3)] 

Bu durum için, gerçi, sadece listede random.choice kullanabilirsiniz yerine rastgele bir öğeyi almak için:

display_number = random.choice(number_list) 
Python belgelerine

:

random.choice(seq)

Return a random element from the non-empty sequence seq .

0

parantezler) (daha sonra, [] köşeli parantezler kullanarak değil refrence, numara listesi oluşturun.

number_two = pygame.image.load("two.png") 
number_three = pygame.image.load("three.png") 
number_four = pygame.image.load("four.png") 

number_list = [number_two, number_three, number_four] 

display_number = number_list[random.randint(0, 3)] 
display_number = pygame.transform.scale(display_number, 70, 80)