DmitrMakeev commited on
Commit
e60a9c5
·
verified ·
1 Parent(s): 91bee01

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -3
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Анализ дефицита элементов:\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
- deficit_report += f" - Элемент {nutrient}: не хватает {deficit:.2f} ppm\n"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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: