DmitrMakeev commited on
Commit
234b68b
·
verified ·
1 Parent(s): 6c9ed05

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -46
app.py CHANGED
@@ -825,52 +825,52 @@ class NutrientCalculator:
825
  def calculate_ec(self):
826
  return round(self.total_ec, 2)
827
 
828
- def print_report(self):
829
- try:
830
- print("\n" + "="*60)
831
- print("ПРОФИЛЬ ПИТАТЕЛЬНОГО РАСТВОРА (ИТОГО):")
832
- print("="*60)
833
- table = [[el, round(self.actual_profile[el], 1)] for el in self.actual_profile]
834
- print(tabulate(table, headers=["Элемент", "ppm"]))
835
-
836
- print("\nИсходный расчёт азота:")
837
- for form, val in self.initial_n_profile.items():
838
- print(f" {form}: {round(val, 1)} ppm")
839
-
840
- print("\n" + "="*60)
841
- print(f"РАСЧЕТ ДЛЯ {self.volume} ЛИТРОВ РАСТВОРА")
842
- print("="*60)
843
- print(f"Общая концентрация: {round(sum(self.actual_profile.values()), 1} ppm")
844
- print(f"EC: {self.calculate_ec()} mS/cm")
845
-
846
- print("\nРЕКОМЕНДУЕМЫЕ УДОБРЕНИЯ:")
847
- fert_table = []
848
- for fert, data in self.results.items():
849
- adds = [f"+{k}: {v:.1f} ppm" for k, v in data.items() if k.startswith('внесет')]
850
- fert_table.append([
851
- fert,
852
- round(data['граммы'], 3),
853
- data['миллиграммы'],
854
- round(data['вклад в EC'], 3),
855
- "\n".join(adds)
856
- ])
857
- print(tabulate(fert_table,
858
- headers=["Удобрение", "Граммы", "Миллиграммы", "EC (мСм/см)", "Добавит"]))
859
-
860
- print("\nОСТАТОЧНЫЙ ДЕФИЦИТ:")
861
- deficit = {
862
- k: round(self.target_profile[k] - self.actual_profile[k], 1)
863
- for k in self.target_profile
864
- if abs(self.target_profile[k] - self.actual_profile[k]) > 0.1
865
- }
866
- if deficit:
867
- for el, val in deficit.items():
868
- print(f" {el}: {val} ppm")
869
- else:
870
- print(" Все элементы покрыты полностью")
871
- except Exception as e:
872
- print(f"Ошибка при выводе отчёта: {str(e)}")
873
- raise
874
 
875
  if __name__ == "__main__":
876
  try:
 
825
  def calculate_ec(self):
826
  return round(self.total_ec, 2)
827
 
828
+ def print_report(self):
829
+ try:
830
+ print("\n" + "="*60)
831
+ print("ПРОФИЛЬ ПИТАТЕЛЬНОГО РАСТВОРА (ИТОГО):")
832
+ print("="*60)
833
+ table = [[el, round(self.actual_profile[el], 1)] for el in self.actual_profile]
834
+ print(tabulate(table, headers=["Элемент", "ppm"]))
835
+
836
+ print("\nИсходный расчёт азота:")
837
+ for form, val in self.initial_n_profile.items():
838
+ print(f" {form}: {round(val, 1)} ppm")
839
+
840
+ print("\n" + "="*60)
841
+ print(f"РАСЧЕТ ДЛЯ {self.volume} ЛИТРОВ РАСТВОРА")
842
+ print("="*60)
843
+ print(f"Общая концентрация: {round(sum(self.actual_profile.values()), 1)} ppm") # Исправлено здесь
844
+ print(f"EC: {self.calculate_ec()} mS/cm")
845
+
846
+ print("\nРЕКОМЕНДУЕМЫЕ УДОБРЕНИЯ:")
847
+ fert_table = []
848
+ for fert, data in self.results.items():
849
+ adds = [f"+{k}: {v:.1f} ppm" for k, v in data.items() if k.startswith('внесет')]
850
+ fert_table.append([
851
+ fert,
852
+ round(data['граммы'], 3),
853
+ data['миллиграммы'],
854
+ round(data['вклад в EC'], 3),
855
+ "\n".join(adds)
856
+ ])
857
+ print(tabulate(fert_table,
858
+ headers=["Удобрение", "Граммы", "Миллиграммы", "EC (мСм/см)", "Добавит"]))
859
+
860
+ print("\nОСТАТОЧНЫЙ ДЕФИЦИТ:")
861
+ deficit = {
862
+ k: round(self.target_profile[k] - self.actual_profile[k], 1)
863
+ for k in self.target_profile
864
+ if abs(self.target_profile[k] - self.actual_profile[k]) > 0.1
865
+ }
866
+ if deficit:
867
+ for el, val in deficit.items():
868
+ print(f" {el}: {val} ppm")
869
+ else:
870
+ print(" Все элементы покрыты полностью")
871
+ except Exception as e:
872
+ print(f"Ошибка при выводе отчёта: {str(e)}")
873
+ raise
874
 
875
  if __name__ == "__main__":
876
  try: