Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 5, 2012 22:28:40

Alex56
Зарегистрирован: 2012-08-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите найти ошибку в коде

# подбрасывается монета 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, чтобы выйдти.”)

Офлайн

#2 Авг. 6, 2012 00:50:13

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

помогите найти ошибку в коде

Отступы, randit и выйдти.

Ну и money, orel, dom, rebro.



Отредактировано fata1ex (Авг. 6, 2012 00:51:10)

Офлайн

#3 Авг. 6, 2012 09:16:39

Alex56
Зарегистрирован: 2012-08-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите найти ошибку в коде

) да понятно глупая ошибка , почему только выпадает всегда соотношение 100 к 0 или наоборот

Офлайн

#4 Авг. 6, 2012 09:32:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

помогите найти ошибку в коде

Alex56
) да понятно глупая ошибка , почему только выпадает всегда соотношение 100 к 0 или наоборот
Потому что вот это
dom = random.randit (1,2)
надо засунуть в цикл, а у тебя оно определяется ДО цикла, соответственно в цикле всегда одно и то же значение dom.



Офлайн

#5 Авг. 6, 2012 09:49:59

Alex56
Зарегистрирован: 2012-08-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите найти ошибку в коде

спасибо, исправил . работает )

Офлайн

#6 Авг. 6, 2012 13:45:49

EBFE
Зарегистрирован: 2012-07-03
Сообщения: 99
Репутация: +  20  -
Профиль   Отправить e-mail  

помогите найти ошибку в коде

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})

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version