大佬们求帮助
import time as tclass My:
def __str__(self):
return self.prompt
__repr__ = __str__
def __init__(self):
self.unit = ['年','月','日','小时','分钟','秒']
self.prompt = '未开始计时'
self.lasted = []
self.begin = 0
self.end = 0
#开始计时
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):
if self.stop >= self.start:
return self.lasted.append(self.stop - self.start)
else:
return slef.lasted.append(self.start - self.stop)
self.prompt += str(self.lasted) + str(self.unit)
print(self.prompt)
我向创建一个计时器,然后在小甲鱼的代码的基础上进行改动,要求如果开始的时候为2021年,结束的时候为2025年,两个相减不会出现负数,不知道这个代码问题出在了哪里,运行起来是这样的
>>> a = My()
>>> a.start()
计时开始!
>>> a.stop()
计时结束!
>>> a
总共运行了 2025在哪里,也没看到啊 本帖最后由 傻眼貓咪 于 2021-10-22 10:20 编辑
第一、如果想创建计时器,就用 time.time() 便可
第二、你的代码不够严谨,你是想以年月日时分秒计算开始和结束所过去的时间,试问如果开始时间为 2分钟12秒,结束时间为3分钟01秒,那么如何相减?(1-12变负数)
第三、你的代码没有考虑闰年、平年啊
第四、你的代码最终结果为年月日时分秒,请问多少天为 1 个月呢?是 30天 还是 31天?(没有人会这样算的,一般只有年日) 傻眼貓咪 发表于 2021-10-22 10:18
第一、如果想创建计时器,就用 time.time() 便可
第二、你的代码不够严谨,你是想以年月日时分秒计算开始 ...
大佬有没有参考的代码 wp231957 发表于 2021-10-22 07:09
2025在哪里,也没看到啊
就是加入结束的时间为3分01秒,开始时间为2分12秒,那么我用结束减开始不久变为负数了么,所以我现在就是想不论他们的大小怎么样相减之后都为正数 傻眼貓咪 发表于 2021-10-22 10:18
第一、如果想创建计时器,就用 time.time() 便可
第二、你的代码不够严谨,你是想以年月日时分秒计算开始 ...
我就是想解决第二个问题,我是用if条件语句去完成你提出来的第二个问题,不知道问题出在哪里,最后字符串没有进行拼接 import time
start = time.time()
time.sleep(2)
end = time.time()
print(f"一共过了 {int(end-start)} 秒")一共过了 2 秒
页:
[1]