|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 梁三少 于 2015-1-24 11:01 编辑
为什么会出现这问题呢???求解
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
t1.stop()
File "C:/Python33/timer.py", line 35, in stop
self._calc()
File "C:/Python33/timer.py", line 43, in _calc
self.lasted.append(self.end[index] - self.begin[index])
TypeError: 'int' object is not subscriptable
源码:
#/user/bin/env python
'timerTest.py to calc time'
import time as t
class MyTimer():
# 对类对象进行初始化操作
def __init__(self):
self.begin = 0
self.end = 0
self.prompt = "计时未开始"
self.lasted = []
self.unit = ['年', '月', '天', '小时', '分钟', '秒']
def __str__(self):
return self.prompt
__repr__ = __str__
# 开始计时
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.lasted = []
self.prompt = "总共运行了"
for index in range(6):
self.lasted.append(self.end[index] - self.begin[index])
if self.lasted[index]:
self.promt += (str(self.lasted[index]+self.unit[index]))
#为下一轮计时初始化变量
self.begin = 0
self.end = 0
|
|