鱼C论坛

 找回密码
 立即注册
查看: 409|回复: 7

请问鱼友,为什么前面的年月日等单位没了,只有秒

[复制链接]
发表于 2020-4-4 20:51:11 | 显示全部楼层 |阅读模式

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

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

x
看了很久,不知道为什么年月日没了,那个功能是  为0不显示,懵逼了,谢谢!零基础
`A2(]I7RBYV9Z2O78NVK]3E.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-4 20:53:25 | 显示全部楼层
你倒是把代码发上来呀。。。
文本的!
而且,你把你想要的运行效果说出来行吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 21:01:25 | 显示全部楼层
代码呢…………
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 21:18:25 | 显示全部楼层
小甲鱼的代码,你漏输了一行if:
if self.lasted[index]:   #如果值为0就跳过循环,所以年月日什么的,因为值都为0,就不会添加到self.prompt中去了
    self.prompt += (str(self.lasted[index]) + self.unit[index])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 22:31:12 | 显示全部楼层
本帖最后由 隔壁繁星吖 于 2020-4-4 22:32 编辑

各位你们对着我这个查吧
我抄了遍代码都没发现错误,我是不是没救了
class MyTime():
    def __init__(self):
        self.unit = ['年','月','天','小时','分钟','秒']
        self.prompt = "未开始计时!"
        self.lasted = []
        self.begin = 0
        self.end = 0

    def __str__(self):
        return self.prompt

    __repr__ = __str__

    #开始计时
    def start(self):
        self.begin = t.localtime()
        print("计时开始...")

    #停止计时
    def stop(self):
        self.end = t.localtime()
        self._calc()
        print("计时结束!")

    #内部方法,计算运行时间
    def _calc(self):
        self.lasted = []
        self.prompt = "总共运行了"
        for index in range(6):
            self.lasted.append(self.end[index] = self.begin[index] )
            self.prompt += str(self.lasted = [index] + self.unit[index])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-4 23:28:58 | 显示全部楼层
本帖最后由 十月故里 于 2020-4-4 23:36 编辑

首先,吐槽一下你代码抄写的能力。。。第30行,‘-’写成‘=’,
31行也是str(self.lasted[index]) + self.unit[index] 写成  str(self.lasted = [index] + self.unit[index])
多了‘=’而且,int类不能和str类使用拼接方法。。。。
其次,你要隐藏为0的结果方法就是四楼说的。在你对self.prompt赋值前添加条件即可
最后给你改的代码(ps:你弄的代码好歹把import的time模块加上惹)
import time as t
class MyTime():
    def __init__(self):
        self.unit = ['年','月','天','小时','分钟','秒']
        self.prompt = "未开始计时!"
        self.lasted = []
        self.begin = 0
        self.end = 0

    def __str__(self):
        return self.prompt

    __repr__ = __str__

    #开始计时
    def start(self):
        self.begin = t.localtime()
        print("计时开始...")

    #停止计时
    def stop(self):
        self.end = t.localtime()
        self._calc()
        print("计时结束!")

    #内部方法,计算运行时间
    def _calc(self):
        self.lasted = []
        self.prompt = "总共运行了"
        for index in range(6):
            self.lasted.append(self.end[index] - self.begin[index] )
            if self.lasted[-1]:
                self.prompt += str(self.lasted[index]) + self.unit[index]
上面这段代码仅供参考哈,只是给你一个思路,里面有个细节还没处理,你自己弄一下,就是time.localtime模块返回的时间做差之后会存在负值的情况,你得处理一下数据才行哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 23:53:57 | 显示全部楼层
隔壁繁星吖 发表于 2020-4-4 22:31
各位你们对着我这个查吧
我抄了遍代码都没发现错误,我是不是没救了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 00:15:44 | 显示全部楼层
十月故里 发表于 2020-4-4 23:28
首先,吐槽一下你代码抄写的能力。。。第30行,‘-’写成‘=’,
31行也是str(self.lasted) + self.unit  ...

下次亿定注意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 23:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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