Найти - Пользователи
Полная версия: помогите найти ошибку в коде
Начало » Центр помощи » помогите найти ошибку в коде
1
Alex56
# подбрасывается монета 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
Отступы, randit и выйдти.

Ну и money, orel, dom, rebro.
Alex56
) да понятно глупая ошибка , почему только выпадает всегда соотношение 100 к 0 или наоборот
FishHook
Alex56
) да понятно глупая ошибка , почему только выпадает всегда соотношение 100 к 0 или наоборот
Потому что вот это
dom = random.randit (1,2)
надо засунуть в цикл, а у тебя оно определяется ДО цикла, соответственно в цикле всегда одно и то же значение dom.
Alex56
спасибо, исправил . работает )
EBFE
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})
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB