鱼C论坛

 找回密码
 立即注册
查看: 801|回复: 8

有关python计时器的问题

[复制链接]
回帖奖励 1 鱼币 回复本帖可获得 1 鱼币奖励! 每人限 1 次(中奖概率 20%)
发表于 2018-7-30 21:35:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小甲鱼的计时器:

这是小甲鱼的计时器

这是小甲鱼的计时器

我的计时器:
  1. import time as t

  2. class Mytimer():
  3.     #定义普通方法:开始计时

  4.     def start(self):
  5.         self.start=t.localtime()
  6.         print('开始计时')

  7.     #定义普通方法:停止计时 并在结束的时候就得到过了多少时间
  8.     def stop(self):
  9.         self.stop=t.localtime()
  10.         self._calu()
  11.         print('停止计时')


  12.     #定义内部方法(__):计算时间差:时间的年月日时分秒都是相互独立的
  13.                                     #用序列来存储,用迭代来得到并计算
  14.     def _calu(self):
  15.         self.suboftime=[]#创建列表//得到的是 相差的年月日
  16.         self.prompt='总共运行了'
  17.         for index in range(6):#迭代计算得到年月日时分秒的差值 并用序列的方法append保存进序列
  18.             self.suboftime.append(self.stop[index]-self.start[index]) #star.stop[index] 指的就是stop方法得到的时间的年/月/日/。。。
  19.             self.prompt += str(self.suboftime[index])


  20.         print(self.prompt)

  21. A=Mytimer()
  22. A.start()

  23. A.stop()
复制代码
结果:

这是我的计时器结果 无论怎么调用都是00000

这是我的计时器结果 无论怎么调用都是00000
怎么都还是0000

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-7-30 21:36:33 | 显示全部楼层
有谁可以帮帮忙
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-30 21:54:02 | 显示全部楼层
本帖最后由 小思喵 于 2018-7-30 21:55 编辑

微信图片_20180730215049.png 这是小甲鱼的 小甲鱼的代码是有时间差的 而我的却没有
  1. import time as t

  2. class Mytimer():

  3.      #打印结果 :魔法方法 __str__和__repr__
  4.     def __str__(self):
  5.          return self.prompt

  6.     __repr__ = __str__


  7.     #定义普通方法:开始计时
  8.     def start(self):
  9.         self.start=t.localtime()
  10.         print('开始计时')

  11.     #定义普通方法:停止计时 并在结束的时候就得到过了多少时间
  12.     def stop(self):
  13.         self.stop=t.localtime()
  14.         self._calu()
  15.         print('停止计时')


  16.     #定义内部方法(__):计算时间差:时间的年月日时分秒都是相互独立的
  17.                                     #用序列来存储,用迭代来得到并计算
  18.     def _calu(self):
  19.         self.suboftime=[]#创建列表//得到的是 相差的年月日
  20.         self.prompt='总共运行了'
  21.         for index in range(6):#迭代计算得到年月日时分秒的差值 并用序列的方法append保存进序列
  22.             self.suboftime.append(self.stop[index]-self.start[index]) #star.stop[index] 指的就是stop方法得到的时间的年/月/日/。。。
  23.             self.prompt += str(self.suboftime[index])




  24. A=Mytimer()
  25. A.start()

  26. A.stop()


复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-30 22:11:18 | 显示全部楼层
你的start完了就stop了。程序运行很快的。你加上t.sleep(2)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-30 22:12:16 | 显示全部楼层
甲鱼老师是实例运行后手敲的,有时间间隔
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-30 23:11:32 | 显示全部楼层
塔利班 发表于 2018-7-30 22:12
甲鱼老师是实例运行后手敲的,有时间间隔

我用你的方法改进了的确有效
不过我按照3楼甲鱼的代码巧
并没有 显示prompt的内容 这是为什么呢
而且我不明白   __repr__ = __str__  有什么作用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-30 23:39:12 | 显示全部楼层
__str__变成字符串用于打印
__repr__用于你直接敲实例名称做字符串显示
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-30 23:46:38 | 显示全部楼层
塔利班 发表于 2018-7-30 23:39
__str__变成字符串用于打印
__repr__用于你直接敲实例名称做字符串显示

那为什么我还是无法显示prompt的内容
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-31 07:19:06 | 显示全部楼层
小思喵 发表于 2018-7-30 23:46
那为什么我还是无法显示prompt的内容

你把小甲鱼代码打出来吧,一个图片我看着实在累
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-3 07:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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