44讲课堂练习
<div>import time as t</div><div>class Time():#开始计时
def start(self):
self.start=t.localtime
print('计时开始')
#停止计时
def stop(self):
self.stop=t.localtime
self._calc()
print('计时结束')
#内部方法,计算时间
def _calc(self):
self.lasted=[]
self.prompt="总共运行了"
for index in range(6):
self.lasted.append(self.stop-self.start)
self.prompt +=str(self.lasted)</div><div> print(self.prompt)
</div>
======================== RESTART: E:/python/程序/44_计时器.py =======================
>>> q=Time()
>>> q.start()
计时开始
>>> q.stop()
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
q.stop()
File "E:/python/程序/44_计时器.py", line 13, in stop
self._calc()
File "E:/python/程序/44_计时器.py", line 21, in _calc
self.lasted.append(self.stop-self.start)
TypeError: 'builtin_function_or_method' object is not subscriptable
不知道为什么错了?并且想知道怎么改?
本帖最后由 1q23w31 于 2020-8-4 18:52 编辑
# -*- coding: utf-8 -*-
"""
Created on Tue Aug4 09:24:02 2020
@author: Administrator
"""
import time as t
class Time():
def __init__(self):
self.start = ''
self.stop = ''
#开始计时
def kaishi(self):
self.start=t.time()
print('计时开始')
#停止计时
def jiesu(self):
self.stop=t.time()
self._calc()
print('计时结束')
#内部方法,计算时间
def _calc(self):
self.lasted=[]
self.prompt="总共运行了"
self.lasted.append(self.stop-self.start)
self.prompt +=str(self.lasted)
print(self.prompt)
static/image/hrline/line6.png
1、变量名与函数名重复
2、time那l没调用
3、localtime返回的对象不支持相减 本帖最后由 sunrise085 于 2020-8-4 19:08 编辑
共有三处两种错误,帮你修改了,在注释中已经写出来了。
1.类变量名与类函数名重复了
2.localtime是函数,调用函数需要加括号
import time as t
class Time():
#开始计时
def start(self):
self.begin=t.localtime()#1.这里类变量名与类函数名重复了;2.localtime是函数名,需要加括号才是调用函数
print('计时开始')
#停止计时
def stop(self):
self.end=t.localtime()#1.这里类变量名与类函数名重复了;2.localtime是函数名,需要加括号才是调用函数
self._calc()
print('计时结束')
#内部方法,计算时间
def _calc(self):
self.lasted=[]
self.prompt="总共运行了"
for index in range(6):
self.lasted.append(self.end-self.begin)#stop和start同样需要改为end和begin
self.prompt +=str(self.lasted)
print(self.prompt)
页:
[1]