在Python中读取用户输入时生成中断

时间:2013-09-28 01:47:56

标签: python

感谢你的帮助。我的叔叔帮我搞清楚了。我不知道这是否是最好的方式,但它有效,这就是我所需要的。

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 !!!'在我打字的中间。我已经看到了一些关于结束代码的东西,但它没有真正起作用,或者我没有用它写。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

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

在下面的示例中,我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时间随机化。

答案 1 :(得分:1)

如何读取一个随机数(1和len之间('打断牛谁?'))然后打断?