1class Currency:
2 def __init__(self, name, exchange_rate):
3 self.name = name
4 self.exchange_rate = exchange_rate
5
6 def __eq__(self, other):
7 if not isinstance(other, Currency):
8 return False
9 return self.exchange_rate == other.exchange_rate and self.name == other.name
10
11
12class PoliticalParty:
13 def __init__(self, name, motto, members=None, preferred_currency=None):
14 self.name = name
15 self._motto = motto
16 self.members = members if members is not None else []
17 self.preferred_currency = preferred_currency
18
19 @property
20 def motto(self):
21 return self._motto
22
23 def convert_currency_to_voters(self, value, currency):
24 voters = int(value / currency.exchange_rate)
25 if currency == self.preferred_currency:
26 return voters * 2
27 else:
28 return voters
29
30 def __str__(self):
31 return self.name
32
33 def __add__(self, other):
34 if isinstance(other, PoliticalParty):
35 return Coalition(self, other)
36
37
38class Coalition:
39 def __init__(self, *args):
40 self.parties = args
41
42 @property
43 def members(self):
44 return {party.name: party.members for party in self.parties}
45
46 def __add__(self, other):
47 if isinstance(other, PoliticalParty):
48 return Coalition(*self.parties, other)
49 elif isinstance(other, Coalition):
50 return Coalition(*self.parties, *other.parties)
51
52 def __str__(self):
53 return "-".join([str(party) for party in self.parties])
54
55
56class Elections:
57 all_elections = dict()
58
59 def __init__(self, year):
60 self.year = year
61 self.votes = dict()
62
63 def register_party_or_coalition(self, party_or_coalition):
64 name = str(party_or_coalition)
65 if name not in self.votes:
66 self.votes[name] = 0
67
68 def vote(self, party_or_coalition):
69 if str(party_or_coalition) in self.votes:
70 self.votes[str(party_or_coalition)] += 1
71
72 def rig_elections(self, party_or_coalition, amount, currency):
73 name = str(party_or_coalition)
74 if name not in self.votes:
75 return
76 if isinstance(party_or_coalition, PoliticalParty):
77 self.votes[name] += party_or_coalition.convert_currency_to_voters(amount, currency)
78 elif isinstance(party_or_coalition, Coalition):
79 for party in party_or_coalition.parties:
80 if currency == party.preferred_currency:
81 self.votes[name] += party.convert_currency_to_voters(amount, currency)
82 return
83 if party_or_coalition.parties:
84 self.votes[name] += party_or_coalition.parties[0].convert_currency_to_voters(amount, currency)
85
86
87 def get_results(self):
88 Elections.all_elections[self.year] = self.votes.copy()
89 return self.votes.copy()
90
91 @classmethod
92 def get_results_by_year(cls, year):
93 if year in cls.all_elections:
94 return cls.all_elections[year]
95
96
97# kebapcheta = Currency("кебапчета", 15)
98# pak_kebapcheta = Currency("кебапчета", 15)
99# gadni_kebapcheta = Currency("кебапчета", 35)
100# evra = Currency("евро", 35)
101
102# print(kebapcheta == pak_kebapcheta) # True
103# print(kebapcheta == gadni_kebapcheta) # False
104# print(gadni_kebapcheta == evra) # False
105
106
107# rebirth = PoliticalParty("Възраждане", "Аман от тия гей паради!")
108
109# BSP = PoliticalParty("БСП",
110# "Ще вдигнем пенсиите и тази година!",
111# members=["Крум Еди-Кой-Си", "Атанас Еди-Кой-Си", "Онзи другия"])
112
113# # preferred_currency
114# gold_bars = Currency("мини-златни кюлчета", 0.2)
115# GERB = PoliticalParty("ГЕРБ", "Ту-тууу!", preferred_currency=gold_bars)
116
117
118# GERB = PoliticalParty("ГЕРБ", "Ту-тууу!")
119# print(GERB.motto) # "Ту-тууу!"
120# #GERB.motto = "Дайте пак да се пробваме?" # ТЦ! Не може! Грешка.
121
122# leva = Currency("левчета", 50)
123
124# SDS = PoliticalParty("СДС", "Ние също сме шокирани, че все още съществуваме...")
125# greatness = PoliticalParty("Величие", "Не на еврото!", preferred_currency=leva)
126
127# print(SDS.convert_currency_to_voters(100, leva)) # 2
128# print(greatness.convert_currency_to_voters(100, leva)) # 4
129
130# kebapcheta = Currency("кебапчета", 15)
131# DPS = PoliticalParty("ДПС", "КТБ по КТБ - знаете...", preferred_currency=kebapcheta)
132
133# print(DPS.convert_currency_to_voters(50, kebapcheta)) # 6, останалите 5 кебапчета са бакшиш
134
135# SDS = PoliticalParty("СДС", "Ние също сме шокирани, че все още съществуваме...")
136# print(str(SDS)) # "СДС"
137
138# print(SDS)
139
140
141# yes_Bulgaria = PoliticalParty("Да, България", "Ще щурмуваме всичко на север от Одрин!") # Добре де, Христо Иванов вече го няма, но Божо има много точки в Stack Overflow и него не можем да нападаме
142# DSB = PoliticalParty("ДСБ", "Помните ли Иван Костов?")
143
144# DB = Coalition(yes_Bulgaria, DSB)
145
146# yes_Bulgaria = PoliticalParty("Да, България",
147# "Ще щурмуваме всичко на север от Одрин!")
148# DSB = PoliticalParty("ДСБ",
149# "Помните ли Иван Костов?",
150# members=["Не-Иван-Костов", "Пак не е Иван Костов"])
151
152
153# DB = Coalition(yes_Bulgaria, DSB)
154# print(DB.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"]}
155
156# yes_Bulgaria = PoliticalParty("Да, България",
157# "Ще щурмуваме всичко на север от Одрин!",
158# members=["Божо", "Ивайло Мирчев"])
159# DSB = PoliticalParty("ДСБ",
160# "Помните ли Иван Костов?",
161# members=["Не-Иван-Костов", "Пак не е Иван Костов"])
162
163# DB = Coalition(yes_Bulgaria, DSB)
164
165# PP = PoliticalParty("ПП", "Не сме сигурни все още...", members=["Асенката"])
166
167# PPDB = DB + PP
168# print(PPDB.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"], "ПП": ["Асенката"]}
169
170# yes_Bulgaria = PoliticalParty("Да, България",
171# "Ще щурмуваме всичко на север от Одрин!",
172# members=["Божо", "Ивайло Мирчев"])
173# DSB = PoliticalParty("ДСБ",
174# "Помните ли Иван Костов?",
175# members=["Не-Иван-Костов", "Пак не е Иван Костов"])
176
177# DB = Coalition(yes_Bulgaria, DSB)
178
179# GERB = PoliticalParty("ГЕРБ",
180# "Ту-тууу!",
181# members=["Бат'", "Бойко", "и", "сам", "стига"])
182# SDS = PoliticalParty("СДС",
183# "Ние също сме шокирани, че все още съществуваме...",
184# members=["Румен, ама не Радев"])
185
186# GERB_SDS = GERB + SDS
187
188# OMG = DB + GERB_SDS
189# print(OMG.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"], "ГЕРБ": ["Бат'", "Бойко", "и", "сам", "стига"], "СДС": ["Румен, ама не Радев"]}
190
191# PPDB = DB + PP
192# print(str(PPDB)) # "Да, България-ДСБ-ПП"
193
194
195
196# elections_2026 = Elections(2026)
197
198# BSP = PoliticalParty("БСП",
199# "Ще вдигнем пенсиите и тази година!",
200# members=["Крум Еди-Кой-Си", "Атанас Еди-Кой-Си", "Онзи другия"])
201
202# elections_2026.register_party_or_coalition(BSP)
203
204
205# gold_bars = Currency("мини-златни кюлчета", 0.2)
206# GERB = PoliticalParty("ГЕРБ",
207# "Ту-тууу!",
208# members=["Бат'", "Бойко", "и", "сам", "стига"],
209# preferred_currency=gold_bars)
210# SDS = PoliticalParty("СДС",
211# "Ние също сме шокирани, че все още съществуваме...",
212# members=["Румен, ама не Радев"])
213# GERB_SDS = GERB + SDS
214
215# elections_2026.register_party_or_coalition(GERB_SDS)
216# elections_2026.vote(BSP)
217# elections_2026.rig_elections(GERB_SDS, 1, gold_bars)
218
219# print(elections_2026.get_results()) # {"БСП": 1, "ГЕРБ-СДС": 10}
220
221# # Не сме ги дефинирали тук, но все пак
222# print(Elections.get_results_by_year(2025)) # Някакви други резултати, защото са за 2025
........F............
======================================================================
FAIL: test_get_results_by_year (test.TestElections.test_get_results_by_year)
get_results_by_year should return the results for the given election year.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/test.py", line 171, in test_get_results_by_year
self.assertEqual({"Party 1": 1}, Elections.get_results_by_year(2026))
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: {'Party 1': 1} != None
----------------------------------------------------------------------
Ran 21 tests in 0.001s
FAILED (failures=1)
Виктор Бечев
25.03.2026 13:15Отвъд горния проблем - кодът изглежда добре, браво.
|
| f | 1 | f | 1 | ||
| 2 | class Currency: | 2 | class Currency: | ||
| 3 | def __init__(self, name, exchange_rate): | 3 | def __init__(self, name, exchange_rate): | ||
| 4 | self.name = name | 4 | self.name = name | ||
| 5 | self.exchange_rate = exchange_rate | 5 | self.exchange_rate = exchange_rate | ||
| 6 | 6 | ||||
| 7 | def __eq__(self, other): | 7 | def __eq__(self, other): | ||
| 8 | if not isinstance(other, Currency): | 8 | if not isinstance(other, Currency): | ||
| 9 | return False | 9 | return False | ||
| 10 | return self.exchange_rate == other.exchange_rate and self.name == other.name | 10 | return self.exchange_rate == other.exchange_rate and self.name == other.name | ||
| 11 | 11 | ||||
| 12 | 12 | ||||
| 13 | class PoliticalParty: | 13 | class PoliticalParty: | ||
| 14 | def __init__(self, name, motto, members=None, preferred_currency=None): | 14 | def __init__(self, name, motto, members=None, preferred_currency=None): | ||
| 15 | self.name = name | 15 | self.name = name | ||
| 16 | self._motto = motto | 16 | self._motto = motto | ||
| 17 | self.members = members if members is not None else [] | 17 | self.members = members if members is not None else [] | ||
| 18 | self.preferred_currency = preferred_currency | 18 | self.preferred_currency = preferred_currency | ||
| 19 | 19 | ||||
| 20 | @property | 20 | @property | ||
| 21 | def motto(self): | 21 | def motto(self): | ||
| 22 | return self._motto | 22 | return self._motto | ||
| 23 | 23 | ||||
| 24 | def convert_currency_to_voters(self, value, currency): | 24 | def convert_currency_to_voters(self, value, currency): | ||
| 25 | voters = int(value / currency.exchange_rate) | 25 | voters = int(value / currency.exchange_rate) | ||
| 26 | if currency == self.preferred_currency: | 26 | if currency == self.preferred_currency: | ||
| 27 | return voters * 2 | 27 | return voters * 2 | ||
| 28 | else: | 28 | else: | ||
| 29 | return voters | 29 | return voters | ||
| 30 | 30 | ||||
| 31 | def __str__(self): | 31 | def __str__(self): | ||
| 32 | return self.name | 32 | return self.name | ||
| 33 | 33 | ||||
| 34 | def __add__(self, other): | 34 | def __add__(self, other): | ||
| 35 | if isinstance(other, PoliticalParty): | 35 | if isinstance(other, PoliticalParty): | ||
| 36 | return Coalition(self, other) | 36 | return Coalition(self, other) | ||
| 37 | 37 | ||||
| 38 | 38 | ||||
| 39 | class Coalition: | 39 | class Coalition: | ||
| 40 | def __init__(self, *args): | 40 | def __init__(self, *args): | ||
| 41 | self.parties = args | 41 | self.parties = args | ||
| 42 | 42 | ||||
| 43 | @property | 43 | @property | ||
| 44 | def members(self): | 44 | def members(self): | ||
| 45 | return {party.name: party.members for party in self.parties} | 45 | return {party.name: party.members for party in self.parties} | ||
| 46 | 46 | ||||
| 47 | def __add__(self, other): | 47 | def __add__(self, other): | ||
| 48 | if isinstance(other, PoliticalParty): | 48 | if isinstance(other, PoliticalParty): | ||
| 49 | return Coalition(*self.parties, other) | 49 | return Coalition(*self.parties, other) | ||
| 50 | elif isinstance(other, Coalition): | 50 | elif isinstance(other, Coalition): | ||
| 51 | return Coalition(*self.parties, *other.parties) | 51 | return Coalition(*self.parties, *other.parties) | ||
| 52 | 52 | ||||
| 53 | def __str__(self): | 53 | def __str__(self): | ||
| 54 | return "-".join([str(party) for party in self.parties]) | 54 | return "-".join([str(party) for party in self.parties]) | ||
| 55 | 55 | ||||
| 56 | 56 | ||||
| 57 | class Elections: | 57 | class Elections: | ||
| 58 | all_elections = dict() | 58 | all_elections = dict() | ||
| 59 | 59 | ||||
| 60 | def __init__(self, year): | 60 | def __init__(self, year): | ||
| 61 | self.year = year | 61 | self.year = year | ||
| 62 | self.votes = dict() | 62 | self.votes = dict() | ||
| 63 | 63 | ||||
| 64 | def register_party_or_coalition(self, party_or_coalition): | 64 | def register_party_or_coalition(self, party_or_coalition): | ||
| 65 | name = str(party_or_coalition) | 65 | name = str(party_or_coalition) | ||
| 66 | if name not in self.votes: | 66 | if name not in self.votes: | ||
| 67 | self.votes[name] = 0 | 67 | self.votes[name] = 0 | ||
| 68 | 68 | ||||
| 69 | def vote(self, party_or_coalition): | 69 | def vote(self, party_or_coalition): | ||
| 70 | if str(party_or_coalition) in self.votes: | 70 | if str(party_or_coalition) in self.votes: | ||
| 71 | self.votes[str(party_or_coalition)] += 1 | 71 | self.votes[str(party_or_coalition)] += 1 | ||
| 72 | 72 | ||||
| 73 | def rig_elections(self, party_or_coalition, amount, currency): | 73 | def rig_elections(self, party_or_coalition, amount, currency): | ||
| 74 | name = str(party_or_coalition) | 74 | name = str(party_or_coalition) | ||
| 75 | if name not in self.votes: | 75 | if name not in self.votes: | ||
| 76 | return | 76 | return | ||
| 77 | if isinstance(party_or_coalition, PoliticalParty): | 77 | if isinstance(party_or_coalition, PoliticalParty): | ||
| 78 | self.votes[name] += party_or_coalition.convert_currency_to_voters(amount, currency) | 78 | self.votes[name] += party_or_coalition.convert_currency_to_voters(amount, currency) | ||
| 79 | elif isinstance(party_or_coalition, Coalition): | 79 | elif isinstance(party_or_coalition, Coalition): | ||
| 80 | for party in party_or_coalition.parties: | 80 | for party in party_or_coalition.parties: | ||
| 81 | if currency == party.preferred_currency: | 81 | if currency == party.preferred_currency: | ||
| 82 | self.votes[name] += party.convert_currency_to_voters(amount, currency) | 82 | self.votes[name] += party.convert_currency_to_voters(amount, currency) | ||
| 83 | return | 83 | return | ||
| 84 | if party_or_coalition.parties: | 84 | if party_or_coalition.parties: | ||
| 85 | self.votes[name] += party_or_coalition.parties[0].convert_currency_to_voters(amount, currency) | 85 | self.votes[name] += party_or_coalition.parties[0].convert_currency_to_voters(amount, currency) | ||
| 86 | 86 | ||||
| 87 | 87 | ||||
| 88 | def get_results(self): | 88 | def get_results(self): | ||
| 89 | Elections.all_elections[self.year] = self.votes.copy() | 89 | Elections.all_elections[self.year] = self.votes.copy() | ||
| 90 | return self.votes.copy() | 90 | return self.votes.copy() | ||
| 91 | 91 | ||||
| 92 | @classmethod | 92 | @classmethod | ||
| 93 | def get_results_by_year(cls, year): | 93 | def get_results_by_year(cls, year): | ||
| 94 | if year in cls.all_elections: | 94 | if year in cls.all_elections: | ||
| 95 | return cls.all_elections[year] | 95 | return cls.all_elections[year] | ||
| 96 | 96 | ||||
| 97 | 97 | ||||
| n | 98 | kebapcheta = Currency("кебапчета", 15) | n | 98 | # kebapcheta = Currency("кебапчета", 15) |
| 99 | pak_kebapcheta = Currency("кебапчета", 15) | 99 | # pak_kebapcheta = Currency("кебапчета", 15) | ||
| 100 | gadni_kebapcheta = Currency("кебапчета", 35) | 100 | # gadni_kebapcheta = Currency("кебапчета", 35) | ||
| 101 | evra = Currency("евро", 35) | 101 | # evra = Currency("евро", 35) | ||
| 102 | 102 | ||||
| n | 103 | print(kebapcheta == pak_kebapcheta) # True | n | 103 | # print(kebapcheta == pak_kebapcheta) # True |
| 104 | print(kebapcheta == gadni_kebapcheta) # False | 104 | # print(kebapcheta == gadni_kebapcheta) # False | ||
| 105 | print(gadni_kebapcheta == evra) # False | 105 | # print(gadni_kebapcheta == evra) # False | ||
| 106 | 106 | ||||
| 107 | 107 | ||||
| n | 108 | rebirth = PoliticalParty("Възраждане", "Аман от тия гей паради!") | n | 108 | # rebirth = PoliticalParty("Възраждане", "Аман от тия гей паради!") |
| 109 | 109 | ||||
| n | 110 | BSP = PoliticalParty("БСП", | n | 110 | # BSP = PoliticalParty("БСП", |
| 111 | "Ще вдигнем пенсиите и тази година!", | 111 | # "Ще вдигнем пенсиите и тази година!", | ||
| 112 | members=["Крум Еди-Кой-Си", "Атанас Еди-Кой-Си", "Онзи другия"]) | 112 | # members=["Крум Еди-Кой-Си", "Атанас Еди-Кой-Си", "Онзи другия"]) | ||
| 113 | 113 | ||||
| n | 114 | # preferred_currency | n | 114 | # # preferred_currency |
| 115 | gold_bars = Currency("мини-златни кюлчета", 0.2) | 115 | # gold_bars = Currency("мини-златни кюлчета", 0.2) | ||
| 116 | GERB = PoliticalParty("ГЕРБ", "Ту-тууу!", preferred_currency=gold_bars) | 116 | # GERB = PoliticalParty("ГЕРБ", "Ту-тууу!", preferred_currency=gold_bars) | ||
| 117 | 117 | ||||
| 118 | 118 | ||||
| n | 119 | GERB = PoliticalParty("ГЕРБ", "Ту-тууу!") | n | 119 | # GERB = PoliticalParty("ГЕРБ", "Ту-тууу!") |
| 120 | print(GERB.motto) # "Ту-тууу!" | 120 | # print(GERB.motto) # "Ту-тууу!" | ||
| 121 | #GERB.motto = "Дайте пак да се пробваме?" # ТЦ! Не може! Грешка. | 121 | # #GERB.motto = "Дайте пак да се пробваме?" # ТЦ! Не може! Грешка. | ||
| 122 | 122 | ||||
| n | 123 | leva = Currency("левчета", 50) | n | 123 | # leva = Currency("левчета", 50) |
| 124 | 124 | ||||
| n | 125 | SDS = PoliticalParty("СДС", "Ние също сме шокирани, че все още съществуваме...") | n | 125 | # SDS = PoliticalParty("СДС", "Ние също сме шокирани, че все още съществуваме...") |
| 126 | greatness = PoliticalParty("Величие", "Не на еврото!", preferred_currency=leva) | 126 | # greatness = PoliticalParty("Величие", "Не на еврото!", preferred_currency=leva) | ||
| 127 | 127 | ||||
| n | 128 | print(SDS.convert_currency_to_voters(100, leva)) # 2 | n | 128 | # print(SDS.convert_currency_to_voters(100, leva)) # 2 |
| 129 | print(greatness.convert_currency_to_voters(100, leva)) # 4 | 129 | # print(greatness.convert_currency_to_voters(100, leva)) # 4 | ||
| 130 | 130 | ||||
| n | 131 | kebapcheta = Currency("кебапчета", 15) | n | 131 | # kebapcheta = Currency("кебапчета", 15) |
| 132 | DPS = PoliticalParty("ДПС", "КТБ по КТБ - знаете...", preferred_currency=kebapcheta) | 132 | # DPS = PoliticalParty("ДПС", "КТБ по КТБ - знаете...", preferred_currency=kebapcheta) | ||
| 133 | 133 | ||||
| n | 134 | print(DPS.convert_currency_to_voters(50, kebapcheta)) # 6, останалите 5 кебапчета са бакшиш | n | 134 | # print(DPS.convert_currency_to_voters(50, kebapcheta)) # 6, останалите 5 кебапчета са бакшиш |
| 135 | 135 | ||||
| n | 136 | SDS = PoliticalParty("СДС", "Ние също сме шокирани, че все още съществуваме...") | n | 136 | # SDS = PoliticalParty("СДС", "Ние също сме шокирани, че все още съществуваме...") |
| 137 | print(str(SDS)) # "СДС" | 137 | # print(str(SDS)) # "СДС" | ||
| 138 | 138 | ||||
| n | 139 | print(SDS) | n | 139 | # print(SDS) |
| 140 | 140 | ||||
| 141 | 141 | ||||
| n | 142 | yes_Bulgaria = PoliticalParty("Да, България", "Ще щурмуваме всичко на север от Одрин!") # Добре де, Христо Иванов вече го няма, но Божо има много точки в Stack Overflow и него не можем да нападаме | n | 142 | # yes_Bulgaria = PoliticalParty("Да, България", "Ще щурмуваме всичко на север от Одрин!") # Добре де, Христо Иванов вече го няма, но Божо има много точки в Stack Overflow и него не можем да нападаме |
| 143 | DSB = PoliticalParty("ДСБ", "Помните ли Иван Костов?") | 143 | # DSB = PoliticalParty("ДСБ", "Помните ли Иван Костов?") | ||
| 144 | 144 | ||||
| n | 145 | DB = Coalition(yes_Bulgaria, DSB) | n | 145 | # DB = Coalition(yes_Bulgaria, DSB) |
| 146 | 146 | ||||
| n | 147 | yes_Bulgaria = PoliticalParty("Да, България", | n | 147 | # yes_Bulgaria = PoliticalParty("Да, България", |
| 148 | "Ще щурмуваме всичко на север от Одрин!") | 148 | # "Ще щурмуваме всичко на север от Одрин!") | ||
| 149 | DSB = PoliticalParty("ДСБ", | 149 | # DSB = PoliticalParty("ДСБ", | ||
| 150 | "Помните ли Иван Костов?", | 150 | # "Помните ли Иван Костов?", | ||
| 151 | members=["Не-Иван-Костов", "Пак не е Иван Костов"]) | 151 | # members=["Не-Иван-Костов", "Пак не е Иван Костов"]) | ||
| 152 | 152 | ||||
| 153 | 153 | ||||
| n | 154 | DB = Coalition(yes_Bulgaria, DSB) | n | 154 | # DB = Coalition(yes_Bulgaria, DSB) |
| 155 | print(DB.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"]} | 155 | # print(DB.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"]} | ||
| 156 | 156 | ||||
| n | 157 | yes_Bulgaria = PoliticalParty("Да, България", | n | 157 | # yes_Bulgaria = PoliticalParty("Да, България", |
| 158 | "Ще щурмуваме всичко на север от Одрин!", | 158 | # "Ще щурмуваме всичко на север от Одрин!", | ||
| 159 | members=["Божо", "Ивайло Мирчев"]) | 159 | # members=["Божо", "Ивайло Мирчев"]) | ||
| 160 | DSB = PoliticalParty("ДСБ", | 160 | # DSB = PoliticalParty("ДСБ", | ||
| 161 | "Помните ли Иван Костов?", | 161 | # "Помните ли Иван Костов?", | ||
| 162 | members=["Не-Иван-Костов", "Пак не е Иван Костов"]) | 162 | # members=["Не-Иван-Костов", "Пак не е Иван Костов"]) | ||
| 163 | 163 | ||||
| n | 164 | DB = Coalition(yes_Bulgaria, DSB) | n | 164 | # DB = Coalition(yes_Bulgaria, DSB) |
| 165 | 165 | ||||
| n | 166 | PP = PoliticalParty("ПП", "Не сме сигурни все още...", members=["Асенката"]) | n | 166 | # PP = PoliticalParty("ПП", "Не сме сигурни все още...", members=["Асенката"]) |
| 167 | 167 | ||||
| n | 168 | PPDB = DB + PP | n | 168 | # PPDB = DB + PP |
| 169 | print(PPDB.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"], "ПП": ["Асенката"]} | 169 | # print(PPDB.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"], "ПП": ["Асенката"]} | ||
| 170 | 170 | ||||
| n | 171 | yes_Bulgaria = PoliticalParty("Да, България", | n | 171 | # yes_Bulgaria = PoliticalParty("Да, България", |
| 172 | "Ще щурмуваме всичко на север от Одрин!", | 172 | # "Ще щурмуваме всичко на север от Одрин!", | ||
| 173 | members=["Божо", "Ивайло Мирчев"]) | 173 | # members=["Божо", "Ивайло Мирчев"]) | ||
| 174 | DSB = PoliticalParty("ДСБ", | 174 | # DSB = PoliticalParty("ДСБ", | ||
| 175 | "Помните ли Иван Костов?", | 175 | # "Помните ли Иван Костов?", | ||
| 176 | members=["Не-Иван-Костов", "Пак не е Иван Костов"]) | 176 | # members=["Не-Иван-Костов", "Пак не е Иван Костов"]) | ||
| 177 | 177 | ||||
| n | 178 | DB = Coalition(yes_Bulgaria, DSB) | n | 178 | # DB = Coalition(yes_Bulgaria, DSB) |
| 179 | 179 | ||||
| n | 180 | GERB = PoliticalParty("ГЕРБ", | n | 180 | # GERB = PoliticalParty("ГЕРБ", |
| 181 | "Ту-тууу!", | 181 | # "Ту-тууу!", | ||
| 182 | members=["Бат'", "Бойко", "и", "сам", "стига"]) | 182 | # members=["Бат'", "Бойко", "и", "сам", "стига"]) | ||
| 183 | SDS = PoliticalParty("СДС", | 183 | # SDS = PoliticalParty("СДС", | ||
| 184 | "Ние също сме шокирани, че все още съществуваме...", | 184 | # "Ние също сме шокирани, че все още съществуваме...", | ||
| 185 | members=["Румен, ама не Радев"]) | 185 | # members=["Румен, ама не Радев"]) | ||
| 186 | 186 | ||||
| n | 187 | GERB_SDS = GERB + SDS | n | 187 | # GERB_SDS = GERB + SDS |
| 188 | 188 | ||||
| n | 189 | OMG = DB + GERB_SDS | n | 189 | # OMG = DB + GERB_SDS |
| 190 | print(OMG.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"], "ГЕРБ": ["Бат'", "Бойко", "и", "сам", "стига"], "СДС": ["Румен, ама не Радев"]} | 190 | # print(OMG.members) # {"Да, България": ["Божо", "Ивайло Мирчев"], "ДСБ": ["Не-Иван-Костов", "Пак не е Иван Костов"], "ГЕРБ": ["Бат'", "Бойко", "и", "сам", "стига"], "СДС": ["Румен, ама не Радев"]} | ||
| 191 | 191 | ||||
| n | 192 | PPDB = DB + PP | n | 192 | # PPDB = DB + PP |
| 193 | print(str(PPDB)) # "Да, България-ДСБ-ПП" | 193 | # print(str(PPDB)) # "Да, България-ДСБ-ПП" | ||
| 194 | 194 | ||||
| 195 | 195 | ||||
| 196 | 196 | ||||
| n | 197 | elections_2026 = Elections(2026) | n | 197 | # elections_2026 = Elections(2026) |
| 198 | 198 | ||||
| n | 199 | BSP = PoliticalParty("БСП", | n | 199 | # BSP = PoliticalParty("БСП", |
| 200 | "Ще вдигнем пенсиите и тази година!", | 200 | # "Ще вдигнем пенсиите и тази година!", | ||
| 201 | members=["Крум Еди-Кой-Си", "Атанас Еди-Кой-Си", "Онзи другия"]) | 201 | # members=["Крум Еди-Кой-Си", "Атанас Еди-Кой-Си", "Онзи другия"]) | ||
| 202 | 202 | ||||
| n | 203 | elections_2026.register_party_or_coalition(BSP) | n | 203 | # elections_2026.register_party_or_coalition(BSP) |
| 204 | 204 | ||||
| 205 | 205 | ||||
| n | 206 | gold_bars = Currency("мини-златни кюлчета", 0.2) | n | 206 | # gold_bars = Currency("мини-златни кюлчета", 0.2) |
| 207 | GERB = PoliticalParty("ГЕРБ", | 207 | # GERB = PoliticalParty("ГЕРБ", | ||
| 208 | "Ту-тууу!", | 208 | # "Ту-тууу!", | ||
| 209 | members=["Бат'", "Бойко", "и", "сам", "стига"], | 209 | # members=["Бат'", "Бойко", "и", "сам", "стига"], | ||
| 210 | preferred_currency=gold_bars) | 210 | # preferred_currency=gold_bars) | ||
| 211 | SDS = PoliticalParty("СДС", | 211 | # SDS = PoliticalParty("СДС", | ||
| 212 | "Ние също сме шокирани, че все още съществуваме...", | 212 | # "Ние също сме шокирани, че все още съществуваме...", | ||
| 213 | members=["Румен, ама не Радев"]) | 213 | # members=["Румен, ама не Радев"]) | ||
| 214 | GERB_SDS = GERB + SDS | 214 | # GERB_SDS = GERB + SDS | ||
| 215 | 215 | ||||
| n | 216 | elections_2026.register_party_or_coalition(GERB_SDS) | n | 216 | # elections_2026.register_party_or_coalition(GERB_SDS) |
| 217 | elections_2026.vote(BSP) | 217 | # elections_2026.vote(BSP) | ||
| 218 | elections_2026.rig_elections(GERB_SDS, 1, gold_bars) | 218 | # elections_2026.rig_elections(GERB_SDS, 1, gold_bars) | ||
| 219 | 219 | ||||
| n | 220 | print(elections_2026.get_results()) # {"БСП": 1, "ГЕРБ-СДС": 10} | n | 220 | # print(elections_2026.get_results()) # {"БСП": 1, "ГЕРБ-СДС": 10} |
| 221 | 221 | ||||
| t | 222 | # Не сме ги дефинирали тук, но все пак | t | 222 | # # Не сме ги дефинирали тук, но все пак |
| 223 | print(Elections.get_results_by_year(2025)) # Някакви други резултати, защото са за 2025 | 223 | # print(Elections.get_results_by_year(2025)) # Някакви други резултати, защото са за 2025 | ||
| 224 | 224 | ||||
| 225 | 225 |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
25.03.2026 13:14