鱼C论坛

 找回密码
 立即注册
查看: 3134|回复: 12

time模块不知怎么抽抽了。。。求帮助,报错如图

[复制链接]
发表于 2016-9-1 11:23:48 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 不二如是 于 2016-9-1 16:46 编辑

1.JPG

mac 版本3.6也不行

mac 版本3.6也不行


  1. #计时器
  2. import time as t #引入时间模块

  3. class MyTimer():
  4.     ###考虑到现在情况下,prompt定义顺序靠后,会由输入错误引起问题
  5.     ###类的方法名和属性名一样 会报错 故而把start->begin .stop->end
  6.     def __init__(self):
  7.         ####便于观看,加入年,月,日
  8.         self.unit = ['年','月','日','小时','分','秒']
  9.         self.prompt = '未开始计时'
  10.         self.lasted = []
  11.         self.begin = 0
  12.         self.end = 0
  13.    
  14.     ##重写魔法方法__str__
  15.     def __str__(self):
  16.         return self.prompt
  17.    
  18.     ##重写__repr__
  19.     __repr__ = __str__
  20.    
  21.     #开始计时
  22.     def start(self):
  23.         self.begin = t.localtime()
  24.     #####防止没调用stop()直接__str__
  25.         self.prompt = '请调用stop()停止计时'
  26.         print ('开始计时')
  27.    
  28.     #停止计时
  29.     def stop(self):
  30.            #####防止没start就stop
  31.         if not self.begin:
  32.             print ('提示:请先start()再stop()!')
  33.         else:         
  34.             self.end = t.localtime()
  35.             self._calc()
  36.             print ('计时结束')

  37.               
  38.     #内部方法,计算运行时间
  39.     def _calc(self):
  40.         self.lasted = []
  41.         self.prompt = '总共运行了'
  42.         for index in range(6):
  43.             self.lasted.append(self.end[index] - self.begin[index])
  44.             if(self.lasted[index]):
  45.     ####防止出现一串 ex:000003 ->3
  46.                 self.prompt += str(self.lasted[index])
  47.         print(self.prompt)

  48.     #####为下一轮初始化
  49.         self.begin = 0
  50.         self.end = 0
  51.          ###### __add__ 两个变量时间相加
  52.     def __add__(self):
  53.         prompt = '总共运行了'
  54.         result = []
  55.         for index in range(6):
  56.             result.append(self.lasted[index] + other.lasted[index])
  57.             if result[index]:
  58.                 prompt += (str(result[index]) + self.init[index])
  59.         return prompt
  60.         
复制代码

最佳答案

查看完整内容

用点脑子想,好不好~ 为什么 t 是红色的?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 11:23:49 | 显示全部楼层
不二如是 发表于 2016-9-1 12:05
t = MyTimer() 会报NameError: name 'MyTimer' is not defined

用点脑子想,好不好~
为什么 t 是红色的?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 11:45:08 | 显示全部楼层
import time as t #引入时间模块

t = MyTimer()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-1 12:05:50 | 显示全部楼层
SixPy 发表于 2016-9-1 11:45
import time as t #引入时间模块

t = MyTimer()

t = MyTimer() 会报NameError: name 'MyTimer' is not defined
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 14:29:08 | 显示全部楼层
问题应该是出现,你import time as t  和实例化t=MyTimer2()  这边,localtime()是time的函数,但是你后续t又是实例化的对话,肯定是调取不到的呀,所以会报错:MyTimer2 object has no attribute 'localtime'
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-1 14:31:36 | 显示全部楼层
小太阳娟儿 发表于 2016-9-1 14:29
问题应该是出现,你import time as t  和实例化t=MyTimer2()  这边,localtime()是time的函数,但是你后续t ...

就是变量叫 tttttt2 也不行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-1 14:32:09 | 显示全部楼层
SixPy 发表于 2016-9-1 13:57
用点脑子想,好不好~
为什么 t 是红色的?

跟重命名没关系
ttttt = MyTimer()
也是不可以
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 14:44:27 | 显示全部楼层
>>> import time as t
>>> class MyTimer2():
        def start(self):
                self.begin = t.localtime()
                print("开始计时")

               
>>> a = MyTimer2()
>>> a.start()
开始计时


我只测试了你出错的这一部分,这样是可以得呀
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-1 16:42:31 | 显示全部楼层
fishcany 发表于 2016-9-1 15:22
有脑子的不会来这提问

没脑子,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-2 08:24:01 | 显示全部楼层
小太阳娟儿 发表于 2016-9-1 14:44
>>> import time as t
>>> class MyTimer2():
        def start(self):

我这边版本lib 被误删了,所以没法编译。重装就好了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-7 22:40:40 | 显示全部楼层
为什么我的问题那么多
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-8 08:38:24 | 显示全部楼层
土匪先生 发表于 2016-9-7 22:40
为什么我的问题那么多

因为你会变得很厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-9 15:35:29 | 显示全部楼层
围观 偷学!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-22 13:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表