z1041331062 发表于 2020-4-4 20:51:11

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

看了很久,不知道为什么年月日没了,那个功能是为0不显示,懵逼了,谢谢!零基础

qiuyouzhi 发表于 2020-4-4 20:53:25

你倒是把代码发上来呀。。。
文本的!
而且,你把你想要的运行效果说出来行吗?

乘号 发表于 2020-4-4 21:01:25

代码呢…………

txxcat 发表于 2020-4-4 21:18:25

小甲鱼的代码,你漏输了一行if:
if self.lasted:   #如果值为0就跳过循环,所以年月日什么的,因为值都为0,就不会添加到self.prompt中去了
    self.prompt += (str(self.lasted) + self.unit)

隔壁繁星吖 发表于 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 = self.begin )
            self.prompt += str(self.lasted = + self.unit)

十月故里 发表于 2020-4-4 23:28:58

本帖最后由 十月故里 于 2020-4-4 23:36 编辑

首先,吐槽一下你代码抄写的能力。。。第30行,‘-’写成‘=’,
31行也是str(self.lasted) + self.unit 写成str(self.lasted = + self.unit)
多了‘=’而且,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 - self.begin )
            if self.lasted[-1]:
                self.prompt += str(self.lasted) + self.unit
上面这段代码仅供参考哈,只是给你一个思路,里面有个细节还没处理,你自己弄一下,就是time.localtime模块返回的时间做差之后会存在负值的情况,你得处理一下数据才行哦

xiangjianshinan 发表于 2020-4-4 23:53:57

隔壁繁星吖 发表于 2020-4-4 22:31
各位你们对着我这个查吧
我抄了遍代码都没发现错误,我是不是没救了

{:9_236:}

隔壁繁星吖 发表于 2020-4-5 00:15:44

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

{:10_262:}下次亿定注意
页: [1]
查看完整版本: 请问鱼友,为什么前面的年月日等单位没了,只有秒