2017-09-07 22 views
1
counter = 0 
sentence = 'Hello World' 
split = str.split(sentence) 

for str in split: 
    c = split[counter] 
    scramble = c[4] + c[0] + c[3] + c[1] + c[2] 
    counter += 1 
    print (scramble) 

プログラムでは、文字列内の各単語を特定のパターンに並べ替える必要がありますが、スクランブルされたテキストを同じ行に印刷する方法はわかりません。単純なワードスクランブラ

+0

'c = split [counter]'が問題です。 'split'はすでに文字列なので、単語全体の代わりにその文字列の最初の文字を取り出し、それをスクランブルしようとしています。 – MackM

+1

あなたのループがあなたに与える 'str'変数を使用していないので、' counter 'の使用はちょっとばかげているようです。それについて言えば、あなた自身の変数の名前として 'str'を使うべきではありません。なぜなら、既に組み込み型の名前だからです。あなたは単語を分割したいと思うかもしれません:print(word [4] + word [0] + word [3] + word [1] + word [2]、end = "") ' – Blckknght

答えて

1

ここでは、印刷機能がどの "\ nの" デフォルトendパラメータを受け入れ

counter = 0 
sentence = 'Hello World' 
split = str.split(sentence) 

for str in split: 
    c = split[counter] 
    scramble = c[4] + c[0] + c[3] + c[1] + c[2] 
    counter += 1 
    print (scramble, end=" ") 

行きます。空の文字列に設定すると、行の最後に改行を出すことができなくなります。

+0

これが正解であれば、それをマークしてください。ありがとう。 – Link