'heads'
(dize) ile aynı değildir. Her durumda, Python'da böyle basit bir-iki seçim yapmak için daha iyi (daha iyi Pythonic) yollar vardır. Boş bir listeyle
- Başlangıç ve bir döngü 100 kez çalıştırın:
>>> import random
>>> count = 100
>>> heads = len([1 for i in range(count) if random.randint(0,1) == 1])
>>> tails = count - heads
>>> print(heads, tails)
43 57
heads
için ifade etmek bölünebilir:
Sadece Aşağıdaki liste anlama gibi bir şey kullanabilirsiniz.
- Rastgele bir
0/1
değerinin 1
olduğu her seferinde, listeye 1 ekleyin.
- sonunda liste uzunluğunu alın size tam 100 rastgele
0/1
değerlerle listesini doldurmak ve sadece bunları özetlemek olabilir, kaç kez sen
Alternatif 1. çevrilmiş bulunuyor:
>>> heads = sum([random.randint(0,1) for i in range(100)])
Bu, sağladığım orijinal kod parçacığından daha basittir, ancak dönüşüm, yineleme ve seçim yapabilmesi için liste kavramanın tam gücünü göstermez: Örneğin, aşağıdaki kod, tüm pozitif çift sayıların karelerinden daha az veya 20:
'e eşittir
>>> [i * i for i in range(1,21) if i % 2 == 0]
[4, 16, 36, 64, 100, 144, 196, 256, 324, 400]
Sadece arkadaşım bunu işaret etti! ha cheers – NewUser123
Güçlü yazılı bir dil kullanmak, bu tür sorunları önleyecektir. –