-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsaman_train.py
More file actions
50 lines (38 loc) · 1.71 KB
/
saman_train.py
File metadata and controls
50 lines (38 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from personal import Personal
from typing import List
class SamanTrain:
def __init__(self):
self.persons: List[Personal] = [
Personal("Victor", 30496974, "Super Sonic", 9)
]
def add_personal(self, persons: Personal):
self.persons.append(persons)
def generate_report(self):
total_personal = len(self.persons)
super_sonic_personal: int = 0
carbon_personal: int = 0
personal_with_benefits = 0
total_carbon_pay: float = 0.0
total_super_sonic_pay: float = 0.0
for person in self.persons:
if person.train_type == "Super Sonic":
super_sonic_personal += 1
total_super_sonic_pay += person.calculate_pay()
if person.train_type == "Carbon":
carbon_personal += 1
total_carbon_pay += person.calculate_pay()
if person.hours > 8:
personal_with_benefits += 1
info = person.get_data()
average_super_sonic_pay = total_super_sonic_pay / super_sonic_personal if super_sonic_personal > 0 else 0
average_carbon_pay = total_carbon_pay / carbon_personal if carbon_personal > 0 else 0
report = {
"total_persons": total_personal,
"information": info,
"super_sonic_persons_quantity": super_sonic_personal,
"carbon_persons_quantity": carbon_personal,
"average carbon pay": average_carbon_pay,
"average super sonic pay": average_super_sonic_pay,
"personal with benefits": personal_with_benefits
}
return report