Hallo,
zum restlichen Code:
Variablennamen mit nur einem Buchstaben sind in der Regel schlecht. Grund: aussageloser Name. Der Name darf gerne beschreiben, was für einen Wert die Variablen hält. Tun a, b, w, ... aber nicht.
Da sind viel zu viele Leerzeilen drin. Leerzeilen macht man in Python normalerweise nur zum Trennen von Funktionen und Klassen.
Du klammerst viel zu viel. bei a = (random.choice(x)) oder if(c==a) ist die äußere Klammer überflüssig.
Das x = [0,1...31] kannst du auch kürzer als x = range(0, 32) schreiben.
Der Teil
while i == 64:
i = i == 0
a = (random.choice(x))
macht keinen Sinn, das ist eine Endlosschleife. i = i==0 evaluiert zu `True` oder `False` - damit wird i==64 nie erreicht. Und selbst wenn der Code anders wäre und i doch wieder später irgendwo ein Integer werden würde ist es schlecht Stil, wenn eine Variable mal ein Integer, mal ein Bool'scher Wert wäre. Das macht das Programm undurchsichtig.
Gruß, noisefloor