Here is my solution,

the theory is thus,

find the people who vote consistantly over the last x votes
pick the least popular consistant vote

unpop.py:

    import sys
    import random
    
    
    def getVote(input):
        rounds = input.split(",")
        players = len(rounds[0])
        lastvote = rounds[len(rounds)-1]
    
        v0 = 0
        v1 = 0
        for p in xrange(players):
            i = 2
            votes = 1
            lv = rounds[len(rounds)-1][p]
            while i<=len(rounds) and i<40 and rounds[len(rounds)-i][p] == lv:
                votes+=1
                i+=1
            #print lv,votes
            if votes>20:
                if lv == '0':
                    v0+=1
                else:
                    v1+=1
        #print "last votes 0:",v0,"1:",v1
        if v0>v1:
            return "good"
        else:
            return "evil"
    
    if len(sys.argv)==1 or len(sys.argv[1])<1:
        if random.random()>0.5:
            print "good"
        else:
            print "evil"
    else:
        input = sys.argv[1]
        print getVote(input)