DmitrMakeev commited on
Commit
6add92c
·
verified ·
1 Parent(s): 469d0b8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -6
app.py CHANGED
@@ -807,16 +807,22 @@ class NutrientCalculator:
807
  for elem in self.fertilizers[fert_name]:
808
  self.results[fert_name][f'внесет {elem}'] = 0.0
809
 
 
 
810
  for element, content in self.fertilizers[fert_name].items():
811
  required_ppm = self.target_profile[element] - self.actual_profile[element]
812
  if required_ppm > 0.1:
813
- grams = (required_ppm * self.volume) / (content * 1000)
814
- self.results[fert_name]['граммы'] += grams
815
- self.results[fert_name]['миллиграммы'] += int(grams * 1000)
816
 
817
- added_ppm = (grams * content * 1000) / self.volume
818
- self.results[fert_name][f'внесет {element}'] += added_ppm
819
- self.actual_profile[element] += added_ppm
 
 
 
 
 
 
820
 
821
  def _remove_fertilizer(self, fert_name):
822
  """Удаление удобрения"""
 
807
  for elem in self.fertilizers[fert_name]:
808
  self.results[fert_name][f'внесет {elem}'] = 0.0
809
 
810
+ # Находим максимальный недостаток среди всех элементов удобрения
811
+ max_required_ppm = 0
812
  for element, content in self.fertilizers[fert_name].items():
813
  required_ppm = self.target_profile[element] - self.actual_profile[element]
814
  if required_ppm > 0.1:
815
+ max_required_ppm = max(max_required_ppm, required_ppm / content)
 
 
816
 
817
+ # Добавляем удобрение в количестве, необходимом для покрытия максимального недостатка
818
+ grams = max_required_ppm * 1000
819
+ self.results[fert_name]['граммы'] += grams
820
+ self.results[fert_name]['миллиграммы'] += int(grams * 1000)
821
+
822
+ for element, content in self.fertilizers[fert_name].items():
823
+ added_ppm = (grams * content * 1000) / self.volume
824
+ self.results[fert_name][f'внесет {element}'] += added_ppm
825
+ self.actual_profile[element] += added_ppm
826
 
827
  def _remove_fertilizer(self, fert_name):
828
  """Удаление удобрения"""