← Все вопросы

как пересчитать рецепт на другое число человек через пропорцию на питоне

Задан 4 месяца назад1.3к просмотров2 ответа
5

Задали по математике задачу на пропорции, хочу решить в питоне для тренировки. Рецепт блинов рассчитан на 4 человека и нужно 200 г муки. Сколько муки нужно на 6 человек? И ещё похожая про масштаб карты, но давайте сначала с рецептом. Я что-то перемудрил:

muka = 200
bylo = 4
stalo = 6
print(muka + stalo - bylo)  # 202, явно бред

Как тут правильно через пропорцию?

2 ответа

9
✓ Принятый ответ — помог автору

Тут не сложение, а пропорция — то есть всё меняется «во столько же раз». Если людей стало в 6/4 = 1.5 раза больше, то и муки нужно в 1.5 раза больше.

muka = 200
bylo = 4
stalo = 6

nado = muka * stalo / bylo
print(nado)  # 300.0 г муки на 6 человек

Как это понять. Пропорция — это равенство двух отношений: «200 г относится к 4 людям так же, как X к 6 людям». Записывается 200/4 = X/6. Чтобы найти X, перемножаешь крест-накрест: X = 200 * 6 / 4. Это правило так и называют — «крест-накрест» или «умножить по диагонали».

Про масштаб карты — ровно то же самое. Например масштаб 1:100000 значит «1 см на карте = 100000 см на местности». Сколько метров соответствует 3 см на карте:

masshtab = 100000   # 1 см карты = 100000 см реальности
sm_na_karte = 3
sm_realnost = sm_na_karte * masshtab
metry = sm_realnost / 100   # см в метры
print(metry)  # 3000.0 метров = 3 км

Главное в пропорциях — следить, что с чем сравниваешь: люди с людьми, граммы с граммами. Если перепутать местами числитель и знаменатель, ответ перевернётся.

3

Удобно сделать универсальную функцию пересчёта — пригодится для любого ингредиента:

def pereschitat(kolichestvo, bylo, stalo):
    return kolichestvo * stalo / bylo

print(pereschitat(200, 4, 6))  # мука: 300.0
print(pereschitat(3, 4, 6))    # яйца: 4.5 -> округлишь до 5

С яйцами получится дробь (4.5), так что в реальном рецепте округляй в большую сторону math.ceil.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект