У меня есть код, который использует 3 разных класса, которые я создал, чтобы упростить предоставление информации, он должен работать, но он не работает и продолжает возвращаться с ошибкой 17,838, и что бы я ни делал, он отказывается читать из моего файла правильно
У меня есть код, который использует 3 разных класса, которые я создал, чтобы упростить предоставление информации, он должен работать, но он не работает и продолжает возвращаться с ошибкой 17,838, и что бы я ни делал, он отказывается читать из моего файла правильно [code]import csv
class MP: def __init__(self, first_name, last_name, party, votes_received): self.name = f"{first_name} {last_name}" self.party = party self.votes_received = int(votes_received)
with open("EditedData.csv", 'r') as file: reader = csv.DictReader(file) for row in reader: # Constituency data const_name = row["Constituency name"] region_name = row["Region name"] electorate = row["Electorate"] valid_votes = row["Valid votes"]
# Create Constituency object if not already created if const_name not in constituencies: constituencies[const_name] = Constituency(const_name, region_name, electorate, valid_votes)
# Candidate data first_name = row["Member first name"] last_name = row["Member surname"] first_party = row["First party"] votes_received = int(row[first_party]) if first_party in row else 0
# Handle Party data if first_party not in parties: parties[first_party] = Party(first_party) parties[first_party].add_votes(votes_received)
# Check if this MP is the winner and increment MP count for their party if row["Result"].endswith("hold") or row["Result"].endswith("gain"): parties[first_party].add_mp()
# Display Constituency Details print("\n=== Constituency Details ===") for constituency in constituencies.values(): print(constituency) print("Candidates:") for candidate in constituency.candidates: print(candidate)
# Display Party Statistics print("\n=== Party Statistics ===") for party in parties.values(): print(party)
# Display Party Percentages per Constituency print("\n=== Party Percentages in Each Constituency ===") for constituency in constituencies.values(): print(f"\n{constituency.name}:") for party_name in parties: percent = constituency.party_percent(party_name) print(f" {party_name}: {percent:.2f}%")
if __name__ == "__main__": main() [/code] Я ожидал, что он будет использовать созданные мной классы, чтобы прочитать файл и вернуть соответствующую информацию