Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 5, 2020 13:14:14

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

Правильно ли выполнено задание

Всем привет.

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

Задание гласит:
“ Написать программу, которая бы ”подбрасывала“ условную монету
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)

Отредактировано FishHook (Авг. 5, 2020 13:42:45)

Офлайн

#2 Авг. 5, 2020 18:51:20

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

Правильно ли выполнено задание

В принципе ошибку нашла)
В моем случае, у меня всегда будет 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)…
Помогите,пожалуйста

Офлайн

#3 Авг. 5, 2020 20:22:52

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Правильно ли выполнено задание

 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



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Авг. 5, 2020 20:45:33)

Офлайн

#4 Авг. 12, 2020 00:53:18

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Правильно ли выполнено задание

Ошибка в том что вы учите питон по доусону - а нужно учить по марку лутцу.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version