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

您可以使用线程(本质上是一个小任务)进行中断,在请求输入之前立即启动在后台运行的线程。

在下面的示例中,我def创建了一个函数punchline()”,它在“mooing”之前等待 1 秒。该函数在调用启动的线程中执行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 回答