@Rexfist

Логическая ошибка. Но где?

import random

counter = 0
reshka = 0
orel = 0
monetka = random.randrange(100) + 1
while counter != 100:
    if monetka % 2:
        reshka += 1
    else:
        orel += 1
    counter += 1
print("\nThere are ", reshka, "reshkas and ", orel, "orels")


Результат либо 100 решек, либо 100 орлов.
There are 100 reshkas and 0 orels
  • Вопрос задан
  • 188 просмотров
Решения вопроса 2
longclaps
@longclaps
Ты ж монетку до входа в цикл один раз бросаешь, а потом сто раз на нее смотришь.
Ответ написан
0xD34F
@0xD34F
Ну так вы один раз "монету" "подбрасываете". Надо на каждой итерации цикла это делать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@deliro
Упрощу твой алгоритм до одной строки:
from random import randint
n = 100

reshka = sum(randint(1, 100) % 2 for _ in range(n))

print("\nThere are ", reshka, "reshkas and ", n - reshka, "orels")


Или проще:
sum(randint(0, 1) for _ in range(n))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы