Найти - Пользователи
Полная версия: Задачка с подбрасыванием монетки
Начало » Python для новичков » Задачка с подбрасыванием монетки
1 2
Python777
Здравствуйте! Я бы хотел, чтобы вы мне помогли с решением задачи из книги Майкла Доусона “ Программируем на Питон, для начинающих”. Я буквально недавно начал изучать этот язык программирования да и вообще само программирование( в институте Паскаль изучали), и вроде бы примеры из этой книги более или менее понятны. Но вот решение некоторых задач для самопроверки в конце каждой главы, меня просто выбивает из колеи, потому что вроде бы как думаешь. что задания даются сугубо на основе пройденного материала, но сложности почему-то возникают довольно неприятные. Покупал эту книгу на Ozon. Там писалось, что все для новичков идеально разжевывается, но на своем опыте понимаю, что это далеко не так. Видимо еще и перевод с английского не идеален. Но все же продолжаю ее изучать. Может кто из старичков этого форума посоветует, как лучше изучать этот язык программирования.

А теперь сама задача: Напишите программу, которая бы “подбрасывала” условную монету 100 раз и сообщала, сколько раз выпал орел, а сколько - решка.
doza_and
Python777
Может кто из старичков этого форума посоветуйте
Стиль изучения языков индивидуален. Чтобы не возникало сомнений что вы еще не все знаете, прочитайте книжку сразу от корки до корки. :) Обычно это можно сделать за 1 день.
Python777
А насчет задачки с монетой? Или это в другой раздел форума?
Вот один из моих вариантов неверного решения задачи:
import random
x=1
y=2
z=0
s = random.randint(1,2)
while z != 100:
s = random.randint(1,2)
z += 1
s += 1
print(s)
print(z)
input(“\n\nНажмите Enter, чтобы выйти.”)
py.user.next
Python777
Я буквально недавно начал изучать этот язык программирования да и вообще само программирование( в институте Паскаль изучали)

Ну да, для начала нужно разделить кодинг и программирование. Кодинг программу не делает.

Это всё равно, что усиленно изучать кисти и краску, чтобы написать картину. Или усиленно изучать молоток, пилу, дерево и гвозди, чтобы построить дом.

Python777
А теперь сама задача: Напишите программу, которая бы “подбрасывала” условную монету 100 раз и сообщала, сколько раз выпал орел, а сколько - решка.

Фактически тебе для начала нужно построить математическую модель монеты. То есть представить, чем является монета в математическом смысле. К питону это мало отношения имеет.
Singularity
import random
sum(int(random.getrandbits(1)) for x in range(100))
py.user.next
>>> import random
>>> 
>>> def f(n):
...     seq = (random.randint(0, 1)
...            for i in range(n))
...     
...     dct = {}
...     for i in seq:
...         dct[i] = dct.get(i, 0) + 1
...     
...     return dct[1], dct[0]
... 
>>> f(100)
(48, 52)
>>> f(100)
(39, 61)
>>> f(1000)
(476, 524)
>>>
Python777
Спасибо за ответы. В общем, я так понимаю, что программирование это прежде всего алгоритм. Но вот как научиться составлять правильно алгоритмы, с чего лучше всего начинать новичку, чтобы подобные задачи с монеткой можно было решать без особых проблем??
Symfo
Тоже только начал изучать программирование с этой же книжки. У меня получилась такая программа:
import random
orel = 0
resh = 0
i = 0
while i<1000:
    i += 1
    coin = random.randint(1,2)
    if coin == 1:
        orel += 1
    if coin == 2:
        resh += 1
print ("Решек", resh)
print ("Орлов", orel)
>>> 
Решек 501
Орлов 499

В коде использовал только то, что было в книге до этого задания. Я бы посоветовал просто внимательнее читать. Ничего сложного нет.
Qwed
import random
orel = 0
resh = 0
count = 0
while count != 100:
    mon = random.randint(1, 2)
    count += 1
    if mon == 1:
        orel += 1
        
    elif mon == 2:
        resh += 1
        
print("Орел выпал", orel)
print("Решка выпал", resh)
old_monty
Эта задача слишком простая даже для начинающих. Может, кому-то интересно попробовать свои силы в чуть более сложном варианте?
Пусть подбрасываются одновременно 2 монеты. Нужно составить программу (желательно короткую и понятную) для подсчета и вывода на экран всех возможных результатов:

  • Орел и решка (в какой из двух монет что выпало, пусть здесь это будет безразлично)
  • Обе монеты - орел
  • Обе монеты - решка





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