Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -793,6 +793,9 @@ class NutrientCalculator:
|
|
793 |
# Третий проход: компенсация второстепенных элементов
|
794 |
self._compensate_secondary_elements()
|
795 |
|
|
|
|
|
|
|
796 |
return self.results
|
797 |
except Exception as e:
|
798 |
print(f"Ошибка при расчёте: {str(e)}")
|
@@ -862,6 +865,14 @@ class NutrientCalculator:
|
|
862 |
print(f"Ошибка: отсутствует элемент {str(e)} в удобрении {fert_name}")
|
863 |
raise
|
864 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
865 |
def calculate_ec(self):
|
866 |
return round(self.total_ec, 2)
|
867 |
|
|
|
793 |
# Третий проход: компенсация второстепенных элементов
|
794 |
self._compensate_secondary_elements()
|
795 |
|
796 |
+
# Четвертый проход: корректировка перебора
|
797 |
+
self._adjust_overages()
|
798 |
+
|
799 |
return self.results
|
800 |
except Exception as e:
|
801 |
print(f"Ошибка при расчёте: {str(e)}")
|
|
|
865 |
print(f"Ошибка: отсутствует элемент {str(e)} в удобрении {fert_name}")
|
866 |
raise
|
867 |
|
868 |
+
def _adjust_overages(self):
|
869 |
+
"""Корректировка перебора элементов"""
|
870 |
+
for element in self.actual_profile:
|
871 |
+
if self.actual_profile[element] > self.target_profile[element]:
|
872 |
+
overage = self.actual_profile[element] - self.target_profile[element]
|
873 |
+
self.actual_profile[element] -= overage
|
874 |
+
print(f"Корректировка перебора: {element} уменьшен на {overage:.2f} ppm")
|
875 |
+
|
876 |
def calculate_ec(self):
|
877 |
return round(self.total_ec, 2)
|
878 |
|