Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -967,14 +967,30 @@ class NutrientCalculator:
|
|
967 |
actual_composition = Composition('Actual Profile', list(self.actual_profile.values()))
|
968 |
report = actual_composition.table(sparse=True, ref=self.target_composition)
|
969 |
|
970 |
-
# Добавляем анализ дефицита элементов
|
971 |
-
deficit_report = "\n\nАнализ дефицита
|
972 |
for nutrient in nutrients_stencil:
|
973 |
actual_value = self.actual_profile[nutrient]
|
974 |
target_value = self.target_profile[nutrient]
|
975 |
deficit = target_value - actual_value
|
|
|
976 |
if deficit > 0:
|
977 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
978 |
elif deficit < 0:
|
979 |
deficit_report += f" - Элемент {nutrient}: избыток {-deficit:.2f} ppm\n"
|
980 |
else:
|
|
|
967 |
actual_composition = Composition('Actual Profile', list(self.actual_profile.values()))
|
968 |
report = actual_composition.table(sparse=True, ref=self.target_composition)
|
969 |
|
970 |
+
# Добавляем анализ дефицита элементов и расчет количества удобрений
|
971 |
+
deficit_report = "\n\nАнализ дефицита элементов и требуемых удобрений:\n"
|
972 |
for nutrient in nutrients_stencil:
|
973 |
actual_value = self.actual_profile[nutrient]
|
974 |
target_value = self.target_profile[nutrient]
|
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:
|