我正在用Python为一个朋友写一个有趣的程序,它会打印出"We are the knights who say 'Ni'!"这句话,然后暂停3秒钟,最后使用random
模块的uniform()
方法,在随机时间间隔内连续打印"Ni!" 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))
我尝试在解释器中输入from silly import knights_of_ni()
和import silly
导入这个模块,然后使用knights_of_ni()
或silly.knights_of_ni()
调用该函数(分别),但我总是得到相同的异常:
NameError: global name 'time' is not defined
这个错误是什么原因导致的?我该怎么修改我的代码呢?
编辑:坦白地说,我也不确定我当时遇到了什么问题。第二天早上我运行了代码,发现它完全没有问题。我发誓昨晚代码确实出现了错误……无论如何,感谢你的建议。
import
的工作原理。否则,你将浪费大量时间随意更改代码,试图让它正常工作。也许你应该问一个关于你不理解import
的问题。 - John La Rooyimport spam
来获取一个完整的模块,然后调用每个函数,如spam.eggs()
,而你可以使用from spam import eggs
来获取特定的函数和spam
命名空间,这样你就可以调用函数eggs()
。 - Rafe Kettler