2016-10-13 10 views
-1

私は、テキストスクロール機能を実装するための小さなモジュールを作成したいと考えています。私はこれまでいくつかのことを試してみた、これは私が座っているものです:すべてこれによりリストにスリープを挿入する方法

from time import sleep 

def text_scroll(x): 
    x = x.split() 
    #here is where I'd like to add the sleep function 
    x = " ".join(x) 

print x 

text_scroll("hello world.") 

を、私はそれは、「こんにちは」秒、「世界」のために睡眠を印刷持つように期待しています。私が今までに得たベストは、実際には一時停止する代わりにNoneを返すことです。

+1

'print x'は字下げする必要があります。また、 'sleep(1)'はあなたに何を与えるのでしょうか? –

+0

あなたはpython 2.7またはpython 3を使用していますか? – TemporalWolf

+0

あなたが欠けているものがあれば、関数から何かを返す必要があります。 –

答えて

-2
for word in x.split(): 
    print word, 
    time.sleep(1) 

コンマ以下のコード試してみてください、あなたの出力に改行を追加することから

+0

これはpython 2.7で動作しますが、インポートした場合は 'time.'は必要ありません。 なぜ 'print word 'が何であり、なぜ'、 'が重要であるのかを説明する価値があります – TemporalWolf

+2

低品質のコードのみの回答を吐き出すのをやめてください。 –

+0

@TemporalWolf、あなたは正しいです – volcano

2

印刷を防ぐ:

from time import sleep 
from sys import stdout 

def text_scroll(text): 
    words = text.split() 
    for w in words: 
     print w, 
     stdout.flush() 
     sleep(1) 

コンマ印刷の終わりには、新しい行「を追加していません\ n 'である。 flush()関数は、単語を画面に出力します(標準出力)。

+1

私のインタプリタはstdout.flush()を必要としません。 – TemporalWolf

+0

* ipython *で行いましたが、flush()コールなしでフラッシュしないため、追加しました。フラッシングがどこかでガラメルであるかどうか調べることは興味深い。 – Slava

+1

面白い、+1:コンソールインタプリタからはフラッシュしないと動作しませんが、PyCharmのコンソールはうまく動作しません。 明らかにPyCharmは私のためにバックグラウンドでいくつかの魔法をしています。 – TemporalWolf

0

もしpython 2.7なら、あなたは火山が提案した以下のことができます。

from time import sleep 

def text_scroll(x): 
    for word in x.split(): 
     print word, 
     sleep(1) 

text_scroll("Hello world") 

これは、入力を個々の単語に分割して印刷し、各単語間でスリープするために機能します。 print word,は、wordの印刷ではpython 2.7で、改行なしでは,です。

ユアーズはいくつかの理由のために動作しません

def text_scroll(x): 
    x = x.split() 
    #here is where I'd like to add the sleep function 
    x = " ".join(x) 

この機能は、それが行う変数で何もしませんし、それを狂わせる:

def text_scroll(x): 
    x = x.split()     # x = ["Hello", "world"] 
    #here is where I'd like to add the sleep function 
    x = " ".join(x)    # x = "Hello world" 

それはありません結果で何かを実際に行うので、それは捨てられます。しかし、それがdefであるため、呼び出されるまで実行されないことを認識することも重要です。

あなたが print xxが設定されていない

、それは最後にあなたにNameError: name 'x' is not defined

を与える必要があり、あなたは何も出力しないあなたの関数text_scroll("hello world.")を呼び出し、それが終了します。

関連する問題