Alex56
Авг. 5, 2012 22:28:40
# подбрасывается монета 100 раз подрят в итоги выводится общее количество падений на решку и на орел.
import random
money = 0
rebro = 0
orel = 0
dom = random.randit (1,2)
while money != 100:
money += 1
if dom == 1:
rebro +=1
else:
orel +=1
print (“выпало”, orel, “раз орел и ”,rebro, “раз ребро”)
input (“\n\nНажмите Enter, чтобы выйдти.”)
fata1ex
Авг. 6, 2012 00:50:13
Отступы, randit и выйдти.
Ну и money, orel, dom, rebro.
Alex56
Авг. 6, 2012 09:16:39
) да понятно глупая ошибка , почему только выпадает всегда соотношение 100 к 0 или наоборот
FishHook
Авг. 6, 2012 09:32:11
Alex56
) да понятно глупая ошибка , почему только выпадает всегда соотношение 100 к 0 или наоборот
Потому что вот это
dom = random.randit (1,2)
надо засунуть в цикл, а у тебя оно определяется ДО цикла, соответственно в цикле всегда одно и то же значение dom.
Alex56
Авг. 6, 2012 09:49:59
спасибо, исправил . работает )
EBFE
Авг. 6, 2012 13:45:49
Python все-таки не Си, можно писать более компактно и понятно
import random
dom = ['rebro', 'orel']
result = dict.fromkeys(dom, 0) # <==> result = {'rebro' : 0, 'orel' : 0}
for test in range(100):
choice = random.choice(dom)
result[choice] += 1 # <==> result[choice] = result[choice] + 1
# можно сразу result[random.choice(dom)] += 1
или
>>> import random
>>> from collections import Counter
>>> Counter(random.sample(['rebro', 'orel'] * 100, 100))
Counter({'orel': 52, 'rebro': 48})