2

皆様のご協力に感謝いたします。叔父は私がそれを理解するのを手伝ってくれました。それが最善の方法かどうかはわかりませんが、うまくいきました。必要なのはそれだけです。

import time

name = raw_input("Hi, what is your name?")
print "hi, " + name + ", nice to meet you."
a1 = raw_input("Would you like to hear a knock knock joke?").lower()
if a1 == "no":
    print "OK, thanks anyways"
elif a1 == "yes":
    raw_input ("Knock Knock")
print "interrupting cow"
time.sleep(2)
print "MOOOOOO!!!!"

編集:申し訳ありませんが、Windows 8 と Python 2.7 を使用しています。

宿題の手伝いが必要です。私は課題をうまく完了できますが、別の方法でそれを行う方法を知りたいです。だから基本的に私はPythonでノックノックジョークを書かなければなりません。「中断する牛」という冗談を言いたいのですが、入力中にコードを中断させる方法がわかりません。これが私が持っているものです。

name = raw_input("Hi, what is your name?")
print "hi, " + name + ", nice to meet you."
a1 = raw_input("Would you like to hear a knock knock joke?").lower()
if a1 == "no":
    print "OK, thanks anyways"
elif a1 == "yes":
    raw_input ("Knock Knock")
    raw_input ("interrupting cow")

それで、私は「割り込み牛誰」と応答するところまでそれを持っていて、それは「MOO!!!」で割り込みます. タイピングの途中で。end' ' コードについて何かを見たことがありますが、実際には機能しませんでした。誰でも私を助けることができますか?

4

2 に答える 2

2

スレッド(基本的に小さなタスク) を割り込みに使用して、入力を求める直前にバックグラウンドで実行中のスレッドを開始することができます。

以下の例では、「ムーイング」の前に 1 秒間待機defする関数「 」を作成しています。punchline()この関数は、 への呼び出しによって開始されたスレッドで実行されますstart_new_thread()。詳細については、リンクされたドキュメントを参照してください。

import thread
import time


def punchline():
    time.sleep(1)
    print 'MOO'

# [...]

thread.start_new_thread(punchline, ())
raw_input("interrupting cow")

最良の結果を得るには、sleep時間をランダム化します。

于 2013-09-28T01:59:04.037 に答える
1

乱数 (1 から len('interrupting cow who?') の間) の文字を読み取って割り込むのはどうですか?

于 2013-09-28T02:01:11.753 に答える