44讲视频里代码运行问题
代码如下:import time as t
class tt:
def __init__(self):
self.unit=['年','月','天','小时','分','秒']
self.prompt='未开始计时'
self.last=[]
self.begin=0
self.end=0
def __str__(self):
return self.prompt
def start(self):
self.begin=t.localtime()
self.prompt='请先调用stop(),停止计时'
print('计时开始')
def stop(self):
if not self.begin:
print('请先调用start()进行计时')
else:
self.end=t.localtime()
self.calc()
print('计时结束')
def calc(self):
self.last=[]
self.prompt='总共运行了'
for index in range(6):
self.last.append(self.end-self.begin)
if self.last:
self.prompt+=(str(self.last+self.unit))
t1=tt()
我用的是pycharm运行,但是我发现不能像shell里面运行的那样,先t1.begin(),过一会在t1.end()就出结果。
我先调用t1.begin(),然后它就停止运行了,再调用t1.end()就会触发代码中的错误'请先调用start()进行计时'
有大佬解释一下是怎么回事吗? 你在文件里写的,肯定一口气全执行完了啊 我的意思是如果分开先写t1.begin(),它输出‘计时开始’。然后我再写t1.end(),它就会触发代码中的错误。就是说不能像shell里面那样分段来运行。我不明白应该怎么调用才能输出结果,请大佬指教
在 t1.start() 和 t1.stop() 中间加上两句:
import time
time.sleep(1)
就可以看到计时效果。 zltzlt 发表于 2020-3-12 16:42
在 t1.start() 和 t1.stop() 中间加上两句:
这样的话是人为的修改计时的时间,请问一下能不能像视频里讲的那样任意的输出计时的时间,谢谢! 好好学不玩手机 发表于 2020-3-12 16:58
这样的话是人为的修改计时的时间,请问一下能不能像视频里讲的那样任意的输出计时的时间,谢谢!
只能在 IDLE Shell 中运行代码。先把你的代码用 IDLE 运行一遍(不要写 t1 = tt() 以及后面的语句),然后再在打开的 Shell 窗口中计时(t1.start() 、t1.stop()) 好好学不玩手机 发表于 2020-3-12 16:58
这样的话是人为的修改计时的时间,请问一下能不能像视频里讲的那样任意的输出计时的时间,谢谢!
那就在 idle 里面执行
页:
[1]