TypeError: __init__() takes 1 positional argument but 4 were given
<pre><code>class voting():
    number = 0
    name   = ""
    surfer = ""

    def __init__(self, num, na, surf):
        self.number = num
        self.name   = na
        self.surfer = surf

    def save_surfer(self):
        file = open("Surfer_list.txt", "a")
        file.write("%07s%16s%16s\n" % (self.number, self.name, self.surfer))
        file.close()

class judge():

    def __init__(voting):
        voting.__init__(self, num, na, surf)

    def save(self):
        file = open("Surfer_list.txt", "a")
        file.write("%07s%16s%16s\n" % (self.number * 11, self.name,     self.surfer))
        file.close()


surf   = ["Jonny Johns", "Juan Martino", "Joseph Smith", "Stacey O'Neill"]
num  = [1, 2, 3, 4]
running = True

while running:
    option = 1

    for choice in surf:
        print(str(option) + ". " + choice)
        option = option + 1

    print(str(option) + ". Giveup")
    choice = int(input("Choose a surfer(1~4): "))

    if choice == option:
        running = False
    else:
        na = input("Your Name: ")

    if input("Are you a Judge?(Y/N) ") == "Y":
        judge(num[choice-1], na, surf[choice-1]).save()
    else:
        voting(num[choice-1]. na, surf[choice-1]).save()
</code></pre>

<p>I read this hundreds of times and I just can't find what is wrong...
I am really new to this please help me know whats wrong
I saw similar questions but those were different from mine..
I really appreciate your help</p>