diyelimki elimde iki tane isim var
ahmet ve mehmet ben bu isimleri ekrana rastgele bir biçimde yazdırmak istiyorum
fakat ahmet çıktısının oranı %45 mehmet çıktısının oranı %55 olarak ayarlamak istiyorum
böyle birşey mümkün müdür?
yardımcı olursanız sevinirim
1 Beğeni
Direkt düz mantık dalayım
import random
namesPer = ["Ahmet", "Mehmet"]
names = ["Sinan", "Kenan", "Murat", "ELif", "Adnan", "Kemal"]
percent = random.randrange(0, 100)
for i in namesPer:
if percent == 45:
print(namesPer[0])
break
elif percent == 55:
print(namesPer[1])
break
else:
print(random.choice(names))
break
Aslında liste içerisindeki eleman değerine göre de yapılabilir, yani iki liste tanımlamaya pek gerek yok gibi
Şu hesaplama kısmı sıkntı, üstatlar merak ettim bende
1 Beğeni
import random names = ["Ahmet","Mehmet"] for x in range(10): #10 kere dönsün percent = random.randrange(0, 100) #rastgele sayı gelsin if percent <= 45: #45'e eşit ve küçükse Ahmet print(names[0]) else:#Değilse Mehmet yazsın print(names[1])
1 Beğeni
[0, 99] (100)
[0, 45] (46)
46%
Rastgele sayilarla calisirken [0, 1) araligini kullanmaya alisirsaniz rahat edersiniz. Karsilastirmalari da <
(cunku her zaman <1) ve >=
ile yapabilirsiniz.
if random.random() < .45
veya random.random() * 100 < 45
Ikiden fazla sey varsa random.choices
is gorur.
1 Beğeni