Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -962,41 +962,16 @@ class NutrientCalculator:
|
|
962 |
self._apply_fertilizer(fert_name, min(small_amount, 2.0)) # Не больше 2 г
|
963 |
|
964 |
def generate_report(self):
|
965 |
-
"""Генерация отчета
|
966 |
try:
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
deficit = target_value - actual_value
|
976 |
-
|
977 |
-
if deficit > 0:
|
978 |
-
# Если не хватает элемента, рассчитываем, сколько нужно добавить удобрений
|
979 |
-
fertilizers_for_nutrient = []
|
980 |
-
for fert_name, fert_composition in self.fertilizers.items():
|
981 |
-
fert_content = fert_composition.vector[nutrients_stencil.index(nutrient)]
|
982 |
-
if fert_content > 0: # Если удобрение содержит этот элемент
|
983 |
-
required_grams = (deficit * self.volume) / (fert_content * 1000)
|
984 |
-
fertilizers_for_nutrient.append((fert_name, required_grams))
|
985 |
-
|
986 |
-
# Формируем строку с рекомендациями
|
987 |
-
if fertilizers_for_nutrient:
|
988 |
-
deficit_report += f" - Элемент {nutrient}: не хватает {deficit:.2f} ppm\n"
|
989 |
-
for fert_name, grams in fertilizers_for_nutrient:
|
990 |
-
deficit_report += f" - Добавьте {grams:.2f} г удобрения '{fert_name}'\n"
|
991 |
-
else:
|
992 |
-
deficit_report += f" - Элемент {nutrient}: не хватает {deficit:.2f} ppm, но подходящих удобрений нет.\n"
|
993 |
-
|
994 |
-
elif deficit < 0:
|
995 |
-
deficit_report += f" - Элемент {nutrient}: избыток {-deficit:.2f} ppm\n"
|
996 |
-
else:
|
997 |
-
deficit_report += f" - Элемент {nutrient}: точное совпадение\n"
|
998 |
-
|
999 |
-
return report + deficit_report
|
1000 |
except Exception as e:
|
1001 |
print(f"Ошибка при выводе отчёта: {str(e)}")
|
1002 |
raise
|
|
|
962 |
self._apply_fertilizer(fert_name, min(small_amount, 2.0)) # Не больше 2 г
|
963 |
|
964 |
def generate_report(self):
|
965 |
+
"""Генерация отчета с фактическими данными"""
|
966 |
try:
|
967 |
+
# Добавляем информацию о добавленных удобрениях
|
968 |
+
fertilizer_report = "Фактически добавленные удобрения (в граммах):\n"
|
969 |
+
for fert_name, data in self.results.items():
|
970 |
+
grams = data['граммы']
|
971 |
+
if grams > 0: # Выводим только те удобрения, которые были добавлены
|
972 |
+
fertilizer_report += f" - {fert_name}: {grams:.2f} г\n"
|
973 |
+
|
974 |
+
return fertilizer_report
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
975 |
except Exception as e:
|
976 |
print(f"Ошибка при выводе отчёта: {str(e)}")
|
977 |
raise
|