抱歉没有找到任何其他修复,所以我创建了一个新问题。 我正在尝试运行一个代码,在屏幕上打印当前的小时,分钟和秒。我用来做这件事的代码是:
def time():
import datetime
import time
time.sleep(1)
nowTime = datetime.now()
print ('Right now it's %s hours, %s minutes and %s seconds.' % (nowTime.hour,nowTime.minute,nowTime.second))
time.sleep(5)
当这段代码试图执行时,我收到以下错误:
Traceback (most recent call last): File "/Users/Teolicht/Desktop/Python/testy.py", line 219, in <module> start() File "/Users/Teolicht/Desktop/Python/testy.py", line 18, in start questions() File "/Users/Teolicht/Desktop/Python/testy.py", line 34, in questions day() File "/Users/Teolicht/Desktop/Python/testy.py", line 52, in day time() TypeError: 'module' object is not callable
start()
,questions()
和day()
是该计划在通过time()
之前经历的其他一些功能。如果我尝试直接执行time()
,它就可以了!所以,这是从time()
函数开始到结束的整个代码:
from datetime import datetime
import time
import random
import sys
def start():
import time
name = input('Hi. What is your name? ')
print ('Nice to meet you, ' + str(name) + '.')
time.sleep(1)
print ('How old are you?')
age = input()
time.sleep(1)
print (age + '! Cool.')
time.sleep(2)
questions()
def questions():
import time
print ('Some things you can ask me:')
time.sleep(1)
print ('• What day is today? (qdh)')
time.sleep(1)
print ('• What time is it? (qhs)')
time.sleep(1)
print ('• I want to play a game! (qjj)')
time.sleep(1)
print ('• How many days till my birthday? (qda)')
time.sleep(1)
questionsAnswer = input()
if questionsAnswer == 'qdh':
day()
elif questionsAnswer == 'qhs':
time()
elif questionsAnswer == 'qjj':
game()
else:
birthday()
def day():
import time
time.sleep(1)
nowDay = datetime.now()
print ('Today is %s/%s/%s' % (nowDay.day,nowDay.month,nowDay.year))
time.sleep(2)
dayAnswer = input('Want to know what time it is? "Y" for yes and "N" for no: ').lower()
if dayAnswer == 'n':
questions()
else:
time()
def time():
import time
time.sleep(1)
nowTime = datetime.now()
print ('Right now it's %s hours, %s minutes and %s seconds.' % (nowTime.hour,nowTime.minute,nowTime.second))
time.sleep(5)
questions()
...
start()
,questions()
或day()
可能会导致错误。有任何想法吗?非常感谢!
答案 0 :(得分:3)
将您的import time
替换为from time import time
答案 1 :(得分:3)
在你的命令中
nowTime = datetime.now()
datetime
是模块,没有方法now()
。
你可能想要
nowTime = datetime.datetime.now()
第一个datetime
是module
,第二个是class
,其中classmethod now()
创建object
当前的当地日期和时间。
答案 2 :(得分:1)
它对我有用,尝试不创建自己的time()方法,我将其重命名为“my_time()”。
时间模块定义了很多功能,或者你只是“导入时间”,或者你需要指定你想导入的每个功能,如“从时间导入睡眠”
from datetime import datetime
from time import time, sleep
import random
import sys
def questions():
print ('Some things you can ask me:')
sleep(1)
print ('• What day is today? (qdh)')
sleep(1)
print ('• What time is it? (qhs)')
sleep(1)
print ('• I want to play a game! (qjj)')
sleep(1)
print ('• How many days till my birthday? (qda)')
sleep(1)
questionsAnswer = input()
if questionsAnswer == 'qdh':
day()
elif questionsAnswer == 'qhs':
my_time()
elif questionsAnswer == 'qjj':
my_game()
else:
my_birthday()
def day():
sleep(1)
nowDay = datetime.now()
print ('Today is %s/%s/%s' % (nowDay.day,nowDay.month,nowDay.year))
sleep(2)
dayAnswer = input('Want to know what time it is? "Y" for yes and "N" for no: ').lower()
if dayAnswer == 'n':
questions()
else:
my_time()
def my_time():
sleep(1)
nowTime = datetime.now()
print ('Right now it\'s %s hours, %s minutes and %s seconds.' % (nowTime.hour, nowTime.minute, nowTime.second))
sleep(5)
questions()
def my_game():
pass
def my_birthday():
pass
#def start():
name = input('Hi. What is your name? ')
print ('Nice to meet you, ' + str(name) + '.')
sleep(1)
print ('How old are you?')
age = input()
sleep(1)
print (age + '! Cool.')
sleep(2)
questions()