Найти - Пользователи
Полная версия: Правильно ли выполнено задание
Начало » Python для новичков » Правильно ли выполнено задание
1
Shavas
Всем привет.

Изучение Питона начато мной совсем недавно, учу по книге Майкла Доусона. Посмотрите,пожалуйста, в чем ошибка в задании.

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


Мой код такой:
   
podbrosi = 0
orel = 0
reshka = 0
while podbrosi != 100:
  orel += 1
  reshka += 1
  podbrosi = int(orel + reshka)
print("Выпало", orel, "орлов")
print("Выпало", reshka, "решек")

Код работает , выдает “50 Орлов, 50 решек.”

Но что-то упущено мной. В чем-то ошибка. Смотрю ответы некоторые к этому заданию. Выглядит так у некоторых:
    
import random
orel = 0
resh = 0
i = 0
while i<100:
    i += 1
    coin = random.randint(1,2)
    if coin == 1:
        orel += 1
    if coin == 2:
        resh += 1
print ("Решек", resh)
print ("Орлов", orel)
Shavas
В принципе ошибку нашла)
В моем случае, у меня всегда будет 50 на 50 орлов и решек.
Если я изменю код следующим образом:

import random
podbrosi = 0
orel = 0
reshka = 0
while podbrosi != 100:
podbrosi += 1
podbros1 = random.randint(1, 2)
if podbros1 == 1:
orel += 1
if podbros1 == 2:
reshka += 1
print(“\nОрлов выпало: ”, orel)
print(“Решек выпало: ”, reshka)

То задача решена.
У меня только вопрос. Почему нужно создавать дополнительную переменную для конструкции if, в моем случае podbrosi1. За что она отвечает.
То есть прочесть начиная с while, я могу как “Общее кол-во подбросов не равно 100, подбросы увеличиваются каждый раз на 1”.
А вот дальше логику объяснить по-русски не могу и понять тоже,начиная с podbros1 = random.randint(1, 2)…
Помогите,пожалуйста
AD0DE412
 import random
podbros = int(input())
orel = 0
for i in range(podbros):
    if random.choice([0, 1]):
        orel += 1
        
print(f'orel = {orel}')
print(f'reshka = {podbros - orel}')
я это к чему если извесстно количество циклов используйте for ну и еще не плодите ээ сущности
ps https://pythonworld.ru/moduli/modul-random.html
ZerG
Ошибка в том что вы учите питон по доусону - а нужно учить по марку лутцу.
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