鱼C论坛

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

[已解决]计时问题

[复制链接]
发表于 2018-3-28 14:00:08 | 显示全部楼层 |阅读模式

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

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

x
  1. import time as t

  2. class MyTimer():
  3.     def __init__(self):
  4.         self.unit = ['年''月''日''时''分''秒']
  5.         self.prompt = '未开始计时'
  6.         self.start = 0
  7.         self.stop = 0
  8.         self.total = []

  9.     def __str__(self):
  10.         return self.prompt

  11.     __repr__ = __str__

  12.     def Start(self):
  13.         self.start = t.localtime()
  14.         self.prompt = '提示:请先停止计时!'
  15.         print('计时开始!')

  16.     def Stop(self):
  17.         if not self.start:
  18.             print('提示:请先开始计时!')
  19.         else:
  20.             self.stop = t.localtime()
  21.             self._count()
  22.             print('计时结束!')

  23.     def _count(self):
  24.         self.total = []
  25.         self.prompt = '程序运行了'
  26.         for index in range(6):
  27.             self.total.append(self.stop[index]-self.start[index])
  28.             if self.total[index]:
  29.                 self.prompt += (str(self.total[index]) + self.unit[index])


  30.         self.start = 0
  31.         self.end = 0

  32.     def __add__(self, other):
  33.         prompt = '总共运行了'
  34.         result = []
  35.         for index in range(6):
  36.             result.append(self.total[index]+other.total[index])
  37.             if result[index]:
  38.                 prompt += (str(result[index]) +unit[index])
  39.         return prompt

  40. t1 = MyTimer()
  41. t1.Start()
  42. t1.Stop()
  43. print(t1)
复制代码


跟着教程打的,但最后只能出来‘程序运行了’,后面没有跟具体的时间和单位,不知道为什么。。。
最佳答案
2018-3-29 12:20:14
Binke 发表于 2018-3-29 10:14
原来如此,就是因为基本没运行所以才不显示后面?

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

使用道具 举报

发表于 2018-3-28 14:33:36 | 显示全部楼层
prompt = '总共运行了'   提示语句中你没加 所以他不会显示
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-28 21:37:44 | 显示全部楼层
南城顾她 发表于 2018-3-28 14:33
prompt = '总共运行了'   提示语句中你没加 所以他不会显示

我加了啊,但是没有
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-28 21:57:24 | 显示全部楼层
self.unit = ['年''月''日''时''分''秒']这是啥列表,逗号呢

prompt += (str(result[index]) +unit[index])  unit前少self

你程序运行太快,不能再命令行里敲吗,0秒都不到显示啥
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-28 22:39:43 | 显示全部楼层
塔利班 发表于 2018-3-28 21:57
self.unit = ['年''月''日''时''分''秒']这是啥列表,逗号呢

prompt += (str(result) +unit)  unit前少s ...

列表那个谢谢提醒,但再短不应该也有显示吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-28 22:43:38 | 显示全部楼层
Binke 发表于 2018-3-28 22:39
列表那个谢谢提醒,但再短不应该也有显示吗?

提示啥,if result[index]:
非0才加到prompt里,6个单位里都是0,啥都不加
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-29 10:14:01 | 显示全部楼层
塔利班 发表于 2018-3-28 22:43
提示啥,if result:
非0才加到prompt里,6个单位里都是0,啥都不加

原来如此,就是因为基本没运行所以才不显示后面?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-29 12:20:14 | 显示全部楼层    本楼为最佳答案   
Binke 发表于 2018-3-29 10:14
原来如此,就是因为基本没运行所以才不显示后面?

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

使用道具 举报

 楼主| 发表于 2018-3-29 21:31:18 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-8 04:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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