Напишите программу, которая добавит в похлебку несколько случайных ингредиентов из списка и подсчитает калорийность.
Формат ввода
Вводится строка имеющихся ингредиентов через запятую и пробел.
Затем вводится целое число n – сколько их предполагается взять.
Затем два целых числа через пробел – диапазон количества для каждого ингредиента.
Затем вещественное число – максимальное значение калорийности для продуктов.
Формат вывода
Нужно сформировать строки по заданному количеству в виде:
of pieces, calorie content kkal, total caloric
Name – выбранный случайным образом ингредиент (с большой буквы), они не должны повторяться,
number – случайное число из введенного диапазона, повторения возможны,
calorie value – случайное число от 0 до максимальной калорийности с точностью до 2 знаков после запятой, повторения возможны;
full_value – общая калорийность продукта: количество * калорийность 1 штуки, точность – не более 2 знаков после запятой.
помогите пожалуйста
Ответы
Пример решения на языке Python:
python
Copy code
import random
ingredients = input("Введите список ингредиентов через запятую: ").split(", ")
n = int(input("Сколько ингредиентов нужно добавить в похлебку? "))
min_qty, max_qty = map(int, input("Введите диапазон количества для каждого ингредиента (минимум максимум): ").split())
max_cal = float(input("Введите максимальное значение калорийности для продуктов: "))
# Создаем пустой список для хранения выбранных ингредиентов
chosen_ingredients = []
# Добавляем случайные ингредиенты из списка в соответствии с заданным количеством
for i in range(n):
# Выбираем случайный ингредиент, который еще не был выбран
ingredient = random.choice(list(set(ingredients) - set(chosen_ingredients)))
chosen_ingredients.append(ingredient)
# Выбираем случайное количество ингредиента из заданного диапазона
qty = random.randint(min_qty, max_qty)
# Выбираем случайное значение калорийности из диапазона от 0 до максимального
calorie_value = round(random.uniform(0, max_cal), 2)
# Вычисляем общую калорийность для данного ингредиента
full_value = round(qty * calorie_value, 2)
# Выводим информацию о выбранном ингредиенте
print(f"{qty} pieces, calorie content {calorie_value} kkal, total caloric {full_value} kkal")
print(ingredient.capitalize())
Пример ввода:
Copy code
Введите список ингредиентов через запятую: морковь, картофель, лук, сливки
Сколько ингредиентов нужно добавить в похлебку? 3
Введите диапазон количества для каждого ингредиента (минимум максимум): 50 100
Введите максимальное значение калорийности для продуктов: 200
Пример вывода:
css
Copy code
74 pieces, calorie content 123.77 kkal, total caloric 9146.98 kkal
Морковь
62 pieces, calorie content 37.88 kkal, total caloric 2347.56 kkal
Лук
54 pieces, calorie content 138.64 kkal, total caloric 7475.36 kkal
Картофель
Атрибуты:
ingredients - список доступных ингредиентов
n - количество случайных ингредиентов, которые нужно добавить в похлебку
min_qty - минимальное количество ингредиента для выбора
max_qty - максимальное количество ингредиента для выбора
max_cal - максимальное значение калорийности для продуктов
Методы:
нет дополнительных методов, только стандарт
Ответ:
Для решения данной задачи можно использовать модуль random для выбора случайных ингредиентов и параметров их количества и калорийности. Для хранения информации об ингредиентах и их калорийности можно использовать словарь.
Вот пример решения на языке Python:
Объяснение:
import random
# словарь с ингредиентами и их калорийностью
ingredients = {'carrots': 41, 'potatoes': 77, 'onions': 40, 'cabbage': 25, 'beets': 49}
# ввод данных
ingredient_list = input().split(', ')
n = int(input())
min_qty, max_qty = map(int, input().split())
max_cal = float(input())
# выбор случайных ингредиентов
chosen_ingredients = random.sample(ingredients.keys(), n)
# вывод данных
for ing in chosen_ingredients:
qty = random.randint(min_qty, max_qty)
cal = round(random.uniform(0, max_cal), 2)
full_cal = round(qty * ingredients[ing] * cal / 100, 2)
print(f"{qty} pieces, calorie content {cal} kkal, total caloric {full_cal}")