Reputation: 11
I need to write a program that does the following: First, find the County that has the highest turnout, i.e. the highest percentage of the population who voted, using the objects’ population and voters attributes Then, return a tuple containing the name of the County with the highest turnout and the percentage of the population who voted, in that order; the percentage should be represented as a number between 0 and 1.
I took a crack at it, but am getting the following error:
Error on line 19: allegheny = County("allegheny", 1000490, 645469) TypeError: object() takes no parameters
Here is what I've done so far. Thank you so much for your help.
class County:
def __innit__(self, innit_name, innit_population, innit_voters) :
self.name = innit_name
self.population = innit_population
self.voters = innit_voters
def highest_turnout(data) :
highest_turnout = data[0]
for County in data:
if (county.voters / county.population) > (highest_turnout.voters / highest_turnout.population):
highest_turnout = county
return highest_turnout
# your program will be evaluated using these objects
# it is okay to change/remove these lines but your program
# will be evaluated using these as inputs
allegheny = County("allegheny", 1000490, 645469)
philadelphia = County("philadelphia", 1134081, 539069)
montgomery = County("montgomery", 568952, 399591)
lancaster = County("lancaster", 345367, 230278)
delaware = County("delaware", 414031, 284538)
chester = County("chester", 319919, 230823)
bucks = County("bucks", 444149, 319816)
data = [allegheny, philadelphia, montgomery, lancaster, delaware, chester, bucks]
result = highest_turnout(data) # do not change this line!
print(result) # prints the output of the function
# do not remove this line!
Upvotes: 0
Views: 287
Reputation: 564
def __innit__(self, innit_name, innit_population, innit_voters) :
You mispelled __init__
Upvotes: 1