‼️‼️‼️‼️За допомогою модуля Tkinter створіть програму, яка буде аналізувати ціни учня за такими пунктами: найбільший та найменший бал, середній бал та підраховувати кількість оцінок початкового, середнього, достатнього та високого рівня (у вигляді таблиці)

Ответы

Ответ дал: MaksHYT
0

Відповідь:

# функція для підрахунку кількості оцінок різного рівня

def count_grades(grades):

   low = 0

   medium = 0

   high = 0

   

   for grade in grades:

       if grade < 4:

           low += 1

       elif grade < 7:

           medium += 1

       else:

           high += 1

   

   return low, medium, high

# головна функція програми

def main():

   # список оцінок учня

   grades = [8, 9, 5, 6, 7, 4, 7, 10, 8, 8]

   

   # знаходимо найбільший, найменший та середній бал

   max_grade = max(grades)

   min_grade = min(grades)

   avg_grade = sum(grades) / len(grades)

   

   # підраховуємо кількість оцінок різного рівня

   low, medium, high = count_grades(grades)

   

   # виводимо результати на екран у вигляді таблиці

   print("Statistics for Student Grades")

   print("------------------------------")

   print(f"Highest Grade: {max_grade}")

   print(f"Lowest Grade: {min_grade}")

   print(f"Average Grade: {avg_grade:.2f}")

   print(f"Low-level Grades (less than 4): {low}")

   print(f"Medium-level Grades (between 4 and 7): {medium}")

   print(f"High-level Grades (greater than 7): {high}")

   

   

if __name__ == '__main__':

   main()

Пояснення:

В цьому коді функція count_grades використовується для підрахунку кількості оцінок різного рівня, яка повертає кортеж з трьох значень - кількість оцінок менше 4 (нижче середнього), кількість оцінок між 4 і 7 (середнього рівня), і кількість оцінок більше 7 (вище середнього).

У головній функції main ми створюємо список оцінок учня, обчислюємо максимальний, мінімальни

Надіюсь добре

Ответ дал: UseDark
0

import tkinter as tk

class App(tk.Frame):

   def __init__(self, master):

       super().__init__(master)

       self.master = master

       self.master.title("Аналіз цін учня")

       self.grid()

       

       # Додавання елементів віджетів

       tk.Label(self, text="Найбільший бал:").grid(row=0, column=0)

       self.max_grade_entry = tk.Entry(self)

       self.max_grade_entry.grid(row=0, column=1)

       

       tk.Label(self, text="Найменший бал:").grid(row=1, column=0)

       self.min_grade_entry = tk.Entry(self)

       self.min_grade_entry.grid(row=1, column=1)

       

       tk.Label(self, text="Середній бал:").grid(row=2, column=0)

       self.avg_grade_entry = tk.Entry(self)

       self.avg_grade_entry.grid(row=2, column=1)

       

       tk.Label(self, text="Початковий рівень:").grid(row=3, column=0)

       self.beg_grade_entry = tk.Entry(self)

       self.beg_grade_entry.grid(row=3, column=1)

       

       tk.Label(self, text="Середній рівень:").grid(row=4, column=0)

       self.med_grade_entry = tk.Entry(self)

       self.med_grade_entry.grid(row=4, column=1)

       

       tk.Label(self, text="Достатній рівень:").grid(row=5, column=0)

       self.suf_grade_entry = tk.Entry(self)

       self.suf_grade_entry.grid(row=5, column=1)

       

       tk.Label(self, text="Високий рівень:").grid(row=6, column=0)

       self.hig_grade_entry = tk.Entry(self)

       self.hig_grade_entry.grid(row=6, column=1)

       

       self.analyze_button = tk.Button(self, text="Аналізувати", command=self.analyze_grades)

       self.analyze_button.grid(row=7, column=0, columnspan=2)

       

       self.results_label = tk.Label(self, text="")

       self.results_label.grid(row=8, column=0, columnspan=2)

       

   def analyze_grades(self):

       max_grade = self.max_grade_entry.get()

       min_grade = self.min_grade_entry.get()

       avg_grade = self.avg_grade_entry.get()

       beg_grade = self.beg_grade_entry.get()

       med_grade = self.med_grade_entry.get()

       suf_grade = self.suf_grade_entry.get()

       hig_grade = self.hig_grade_entry.get()

       

       # Розрахунок кількості оцінок по рівнях

       beg_count = 0

       med_count = 0

       suf_count = 0

       hig_count = 0

       for grade in [beg_grade, med_grade, suf_grade, hig_grade]:

           if grade:

               grade = int(grade)

               if grade >= 90:

                   hig_count += 1

               elif grade >= 70:

                   suf_count += 1

               elif grade >= 50:

                   med_count += 1

               else:

                   beg_count += 1

       

       # Результати аналізу

        results = f"Найбільший бал: {max_grade}\nНайменший бал: {min_grade}\nСередній бал: {avg_grade}\n\n"

   results += f"Оцінок початкового рівня: {beg_count}\nОцінок середнього рівня: {med_count}\n"

   results += f"Оцінок достатнього рівня: {suf_count}\nОцінок високого рівня: {hig_count}"

   

   self.results_label.config(text=results)

Вас заинтересует