2016-12-01 8 views
-1

私はオーディオファイルに隠されたメッセージを解読するプログラムを書いています。完全なメッセージを出力するには、配列や文字列に "抽出された" ASCII文字を格納する必要があるという問題があります。 。私の現在のコードは、私に "メッセージ"の最後の文字しか与えません。.append()を使わないで配列に追加を続けるにはどうしたらいいですか?

def decode(sound): 

    for sample in getSamples (sound): 
     ampValue = getSampleValue (sample) 
     asciiNum = ampValue % 128 


     if asciiNum == 0: 
     break 

     asciiLet = chr (asciiNum) 


    showInformation (asciiLet) 

マスクされたオーディオに隠されているすべての文字を表示するにはどうすればよいですか?また、私はモジュールをインポートせずにこれを行う必要があります。

+0

ここでは変更されている配列はありません。 –

+0

'append()'なしの理由別のオプションは、 'showInformation(asciiLet)'をループ内に移動することです。 – TigerhawkT3

+0

@ TigerhawkT3私が使用しているPythonの "バージョン"(これは必須)は残念なことに.append()コマンドを持たないためです。 – RaulT

答えて

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

はい、私はそれが問題だと考えましたが、この解決策は役に立たないようです。代わりに無限にループし、最後にデコードされた文字を表示します。 – RaulT

関連する問題