Python:"全局名称'时间'未定义"

Raf*_*ler 16 python time

我在python中写了一个愚蠢的程序给朋友打印"我们是那些说'Ni'的骑士!".然后睡3秒钟,然后打印"Ni!" 使用random模块的uniform()方法以随机间隔进行20次.这是我的代码:

from time import sleep
import random

def knights_of_ni():
    generator = random.Random()
    print "We are the knights who say 'ni'."
    sleep(3)
    for i in range(0,20):
        print "Ni!"
        sleep(generator.uniform(0,2))
Run Code Online (Sandbox Code Playgroud)

我试着在解释键入导入此模块from silly import knights_of_ni() import silly,然后调用与任何功能knights_of_ni()silly.knights_of_ni()(),但我总是得到相同的异常:

 NameError: global name 'time' is not defined
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因是什么?我如何修复我的代码?

编辑:坦率地说,我不确定我遇到了什么问题.我第二天早上运行了代码并且工作得很好.我发誓昨晚代码产生了错误...无论如何,感谢您的洞察力.

Jer*_*rub 29

这不可能.您的代码示例与产生该错误的代码不同.

也许你有time.sleep(..)而不是sleep(..).你做完了from time import sleep.要使用time.sleep(..)表格,你必须import time

  • 6 年后,我收到了同样的错误消息。而这正是我所犯的错误。 (2认同)

小智 5

下面的这些代码都可以正常工作:

import time

time.sleep(3)
Run Code Online (Sandbox Code Playgroud)
from time import sleep

sleep(3)
Run Code Online (Sandbox Code Playgroud)