2016-12-01 1 views
-1

Lange Rede kurzer Sinn, ich schreibe ein Programm zum Dekodieren von Nachrichten, die in Audiodateien versteckt sind, und ich bin auf ein Problem gestoßen, wo ich einen "extrahierten" ASCII-Buchstaben in einem Array oder String speichern muss, um eine komplette Nachricht zu drucken . Mein aktueller Code gibt mir nur den allerletzten Buchstaben in der "Nachricht".Wie füge ich weiterhin zu einem Array ohne .append() hinzu?

Wie bekomme ich meinen Code, um alle im maskierten Audio versteckten Buchstaben anzuzeigen? Außerdem muss ich dies tun, ohne irgendwelche Module zu importieren.

+0

Ich sehe keine Arrays geändert werden hier. –

+0

Warum ohne 'append()'? Eine andere Option wäre, 'showInformation (asciiLet)' in die Schleife zu verschieben. – TigerhawkT3

+0

@ TigerhawkT3, weil die "Version" von Python, die ich verwende (was für diese Zuweisung obligatorisch ist), leider nicht den .append() Befehl hat. – RaulT

Antwort

0
youre getting the last letter because it always replaced the variable 'asciiLet' every loop. try to create an inital value then add it. 

def decode(sound): 
    asciiLet = '' #<--- inital 
    for sample in getSamples (sound): 
     ampValue = getSampleValue (sample) 
     asciiNum = ampValue % 128 


     if asciiNum == 0: 
     break 

     asciiLet += chr (asciiNum) #<--- add it 


    showInformation (asciiLet) 
+0

Ja, ich dachte, das war das Problem, aber diese Lösung scheint nicht zu helfen. Stattdessen wird der letzte decodierte Buchstabe endlos wiederholt und angezeigt. – RaulT

Verwandte Themen