Question: Hello, please implement the method ridings_recorded and results_for in the class Election: class Election: Data for a single election in a parliamentary democracy. === Private

Hello, please implement the method "ridings_recorded" and "results_for" in the class Election:

class Election: """Data for a single election in a parliamentary democracy.

=== Private Attributes === _d: the date of this election. _ridings: all ridings for which any votes have been recorded in this election. _parties: all parties for which any votes have been recorded in this election. _results: the vote counts for this election. Each key is the name of a riding, and its value is a dictionary of results for that one riding. Each of its keys, in turn, is the name of a party, and the associated value is the number of votes earned by that party in that riding. A party only appears in the dictionary for a riding if that party has had at least one vote recorded in that riding.

=== Representation Invariants == - For all strings s, s in self._ridings iff s in self._results - For all strings s, s in self._parties iff s in self._results[r] for some r - All recorded vote counts are greater than 0. That is, for every key (riding, results) in self._results, for every (party, votes) in results, votes > 0

=== Sample Usage === >>> e = Election(date(2000, 2, 8)) >>> e.update_results('r1', 'ndp', 1234) >>> e.update_results('r1', 'lib', 1345) >>> e.update_results('r1', 'pc', 1456) >>> e.riding_winners('r1') ['pc'] >>> e.update_results('r2', 'pc', 1) >>> e.popular_vote() == {'ndp': 1234, 'lib': 1345, 'pc': 1457} True >>> e.results_for('r1', 'lib') 1345 >>> e.party_seats() == {'ndp': 0, 'lib': 0, 'pc': 2} True """ _d: date _ridings: List[str] _parties: List[str] _results: Dict[str, Dict[str, int]]

def __init__(self, d: date) -> None: """Initialize a new election on date d and with no ridings, parties, or votes recorded so far.

>>> e = Election(date(2000, 2, 8)) >>> e._d datetime.date(2000, 2, 8) """ self._d = d self._ridings = [] self._parties = [] self._results = []

def ridings_recorded(self) -> List[str]: """Return the ridings in which votes have been recorded in this election.

>>> e = Election(date(2000, 2, 8)) >>> e.update_results('r1', 'ndp', 1) >>> e.ridings_recorded() ['r1'] >>> e.update_results('r2', 'ndp', 1) >>> e.ridings_recorded() ['r1', 'r2'] """ # This method

def results_for(self, riding: str, party: str) -> Optional[int]: """Return the number of votes received in by in this election.

Return None if does not have any votes recorded in this election, or if it does, but does not have any votes recorded in this riding in this election.

>>> e = Election(date(2000, 2, 8)) >>> e.update_results('r1', 'ndp', 1234) >>> e.update_results('r1', 'lib', 1345) >>> e.update_results('r1', 'pc', 1456) >>> e.update_results('r2', 'pc', 1) >>> e.results_for('r1', 'pc') 1456 >>> e.results_for('r2', 'pc') 1 """ # This Method

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!