Найти - Пользователи
Полная версия: Задачка с подбрасыванием монетки
Начало » Python для новичков » Задачка с подбрасыванием монетки
1 2
ayb
>>> from random import choice
>>> from collections import Counter
>>> Counter([choice(["1 1", "2 2", "1 2"]) for _ in range(100)])
Counter({'2 2': 37, '1 2': 33, '1 1': 30})
old_monty
ayb
Результат в данном случае выдается не верный. Но благодаря рекордной краткости кода, ошибку очень легко найти и исправить, без моей подсказки.
А вообще прекрасное решение. Показаны мощные возможности Python, и всего в 3 строчках кода.
ayb
old_monty
Результат в данном случае выдается не верный.

А какой по Вашему мнению должен быть верный ?
old_monty
ayb
А какой по Вашему мнению должен быть верный ?
Ну это же очень просто. Неужели сами без моей подсказки Вы не видите?
py.user.next
ayb
Counter([choice(["1 1", "2 2", "1 2"])
У всех вариантов равные вероятности, но вариантов не три, а четыре ((орёл, орёл), (орёл, решка), (решка, орёл), (решка, решка)).
А так ты как бы повысил вероятность выпадения каждого из вариантов.
old_monty
py.user.next
У всех вариантов равные вероятности, но вариантов не три, а четыре ((орёл, орёл), (орёл, решка), (решка, орёл), (решка, решка)).
А так ты как бы повысил вероятность выпадения каждого из вариантов.
Совершенно верно. Именно это я и хотел увидеть от автора ayb.
Iskatel
Python777
Спасибо за ответы. В общем, я так понимаю, что программирование это прежде всего алгоритм. Но вот как научиться составлять правильно алгоритмы, с чего лучше всего начинать новичку, чтобы подобные задачи с монеткой можно было решать без особых проблем??

Python777
( в институте Паскаль изучали)

Вот это просто верх (незнаю как сказать, но наверное идиотизма)…

Может тебе это просто не надо? Тя в институте УЧИЛИ этому, пока ты бухал и прогуливал. А теперь что?
deenik
import random
x = 0 #Orel 0
y = 0 #Reshka
i = 0 #Counter
zx = None
zy = None
while i != 100:
        zx = random.randrange(2)
        zy = random.randrange(2)
        i += 1
        if zx == 0:
                x += 1
        if zy == 1:
                y += 1
                
print("Broskov", i)
print("Orel na pervoi monete", x)
print("Orlov na vtoroy monete", 100-y)
print("Vsego orlov", x+100-y)
print("Vsego reshek", y+100-x)
Singham
old_monty
Это получается не верное решение? Только начал программировать
old_monty
Singham
Это получается не верное решение? Только начал программировать
Я посмотрел ваш прикрепленный файл, у вас верное решение.
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