@h4ckurman

Сможете проверить правильность моего решения?

Всем привет!
Читаю книгу Тони Гэдиса Начинаем программировать на Python 4-е издание и программирую собственно.

60db64bf09f6c963988153.png
Эту задачу сам вроде бы и решил, но хочу чтобы Вы проверили его и предложили еще альтернативные пути решения (только по "новичковски" , замудренный код не пойму :D )
Вот мой код, пж не судить строго:
# входные данные
peoples = int(input('Количество участников пикника? '))
hot_dogs = int(input('Количество хот-догов, которые будут предложены каждому участнику: '))

SAUSAGES = 10
BUNS = 8
number_of_hot_dogs = peoples * hot_dogs # количество хот-догов всего
print('Всего количество хот-догов:',number_of_hot_dogs)
number_of_sausage = number_of_hot_dogs // SAUSAGES # вычисление количества пакетов сосисок
print('Количество пакетов с сосиcками, которые понадобятся:',number_of_sausage)
number_of_bun = number_of_hot_dogs // BUNS # вычисление количества пакетов булок
print('Количество пакетов с булками, которые понадобятся:',number_of_bun)

# оставшееся количество сосисок и булок
remaining_of_sausages = number_of_hot_dogs % SAUSAGES
remaining_of_bun = number_of_hot_dogs % BUNS
print('Количество оставшихся сосисок:',remaining_of_sausages)
print('Количество оставшихся булок:',remaining_of_bun)
  • Вопрос задан
  • 405 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
number_of_sausage = number_of_hot_dogs // SAUSAGES
Явно неправильно. Попробуйте 25 хотдогов оформить, получите 2 пакета с сосисками, но в 2 пакетах всего 20 сосиок. С булками то же самое.
Вычисление остатка соответственно тоже неверно. При 25 хотдогах вы получите остаток в виде 5 сосисок, хотя даже не добрали до общего количества людей. Если указать количество людей как 1, количество хотдогов тоже 1, то получим в остатке 1 сосику и 1 булку, хотя покупали 10 сосиок и 8 булок

В первом случае доработайте деление, попробуйте передать такие значения, чтобы суммарное число хотдогов было не круглым числом.
Во втором деление в принципе не нужно, нужно вычитание количества купленных продуктов из кол-ва затраченных

Задача легкая, справитесь
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dessewe
sausages = 10
buns = 8
number_participans = int(input('enter number of participans: '))
number_hot_dogs = int(input('enter number of hot dogs: '))
number_sausages = number_participans * number_hot_dogs
number_buns = number_participans * number_hot_dogs

if number_participans == 0 or number_hot_dogs == 0:
print('no party')
else:
sausages_pack = int(number_sausages / sausages + 1)
print('number of sausages pack is: ', sausages_pack)
sausages_remains = sausages - number_sausages % sausages
print('sausaged remains is: ', sausages_remains)

buns_pack = int(number_buns / buns + 1)
print('number of buns pack is: ', buns_pack)
buns_remains = buns - number_buns % buns
print('buns remains is: ', buns_remains)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы