# Aplikacja oblicza premie kwartalną handlowca (1% od obrotu) oraz pokazuje na wykresie uzyskana premie w zależności od miesiąca # Krok 1. Pozyskanie danych od klienta i sprawdzenie ich poprawności import numpy as np import matplotlib.pyplot as plt class Chart: bars = ('Styczeń', 'Luty', 'Marzec') def draw(self,height): y_pos = np.arange(len(height)) plt.figure(figsize=(10,5)) plt.bar(y_pos, height, color = '#969696') plt.xticks(y_pos, Chart.bars) plt.xlabel('Miesiąc', fontsize=12, color='#323232') plt.ylabel('Wielkość premii', fontsize=12, color='#323232') plt.title('Uzyskane premie w I kwartale 2023', fontsize=16, color='#323232') plt.show() class Bonus: extra_bonus = 0.01 def __init__(self, name, january, february, march): self.name = name self.january = january self.february = february self.march = march def update_extra_bonus(self,new_value): self.extra_bonus = new_value def calculate_bonus(self): print(self.january) self.january = self.january * self.extra_bonus self.february = self.february * self.extra_bonus self.march = self.march * self.extra_bonus print(self.january) def draw_chart(self): print(self.january) self.calculate_bonus() print(self.january) chart = Chart(self.january, self.february, self.march) chart.draw([self.january, self.february,self.march]) #klasa 1 class Data: name = input("Wprowadź nazwisko: ") january = int(input("Wprowadź obrot za styczen: ")) february = int(input("Wprowadź obrot za luty: ")) march = int(input("Wprowadź obrot za marzec: ")) bonus = Bonus(name, january, february, march) employee = Data() employee.bonus.draw_chart() employee.bonus.update_extra_bonus(0.1) employee.bonus.draw_chart()