|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
for index in range(6):
temp = self.end[index] - self.begin[index]
# 低位不够减,需要向高位借位
if temp < 0:
# 测试高位是否有得借,没得借的话再向高位借……
i = 1
while self.lasted[index-i] < 1:
self.lasted[index-i] += self.borrow[index-i] - 1 #这里小甲鱼的代码,-1是不是多减了一次?月份只加了11个月,如果2020年1月1日1时 减去 2019年1月2日1时(每月按31天算),那么返回值[年差值,月,日,时,分,秒]不就变成[0,10,30,0,0,0]了吗,10个月30天?不该是11个月30天吗?
self.lasted[index-i-1] -= 1
i += 1
self.lasted.append(self.borrow[index] + temp)
self.lasted[index-1] -= 1 #这里已经给月份减一了
else:
self.lasted.append(temp)
没搞懂 ,用105秒试了一下,不管有没有这个-1,结果输出都没错,都是1分45秒
首先程序确实是有问题, time_begin = [2019,1,2,1,0,0] #开始
time_end = [2020,1,1,1,0,0] #结束
time_borrow = [1,12,31,24,60,60]#借位
time_lasted = [] #存放运算结果
for index in range(6):
temp = time_end[index] - time_begin[index]
# 低位不够减,需要向高位借位
if temp < 0:
# 测试高位是否有得借,没得借的话再向高位借……
i = 1
while time_lasted[index - i] < 1:
time_lasted[index - i] += time_borrow[index - i] - 1
time_lasted[index - i - 1] -= 1
i += 1
time_lasted.append(time_borrow[index] + temp)
time_lasted[index - 1] -= 1
else:
time_lasted.append(temp)
print(time_lasted)
用time_begin = [2019,1,2,1,0,0] 和time_end = [2020,1,1,1,0,0]
self.lasted[index-i] += self.borrow[index-i] - 1是这个时
我这边运行结果是[0, 9, 30, 0, 0, 0]
self.lasted[index-i] += self.borrow[index-i]用这个时
结果是[1, 10, 30, 0, 0, 0]
如果你结果一样可能原因时time_begin = [2019,1,2,1,0,0] 和time_end = [2020,1,1,1,0,0] 设置有问题
或者是文件出错需要重新打开一下(可能性比较小)
|
|