Mgx 发表于 2018-12-19 15:55:18

按照甲鱼的代码写的,运行后和他操作的呈现方式不同啊,是我版本的问题吗?

import time as t

class MyTimer():
    def __init__(self):
      self.unit = ['年','月','天','小时','分钟','秒']
      self.prompr = '未开始计时'
      self.lasted = []
      self.begin = 0
      self.end = 0

    def __str__(self):
      return self.prompt

    __repr__ = __str__

    def __add__(self,other):
      prompt = '总共运行了'
      rusult = []
      for index in range(6):
            result.apped(self.lasted + other.lasted)
            if result:
                prompt += (str(result) + self.unit)
      return prompt

    # 开始计时
    def start(self):
      self.degin = t.localtime()
      self.prompt = '提示:请先调用 stop() 停止计时!'
      print('计时开始...')

    #停止计时
    def stop(self):
      if not self.begin:
            print('提示:请先调用 start() 进行及时!')
      else:
            self.end = t.localtime()
            self.__calc()
            print('计时结束')

运行后程序不对啊:
t1 = MyTimer()
>>> t1.start()
计时开始...
>>> t1.stop()
提示:请先调用 start() 进行及时!
>>>

塔利班 发表于 2018-12-19 16:19:30

self.degin 是什么鬼

指头比思想慢 发表于 2018-12-19 18:50:36

粗略看了一下,基本应该是你拼写错误如begin和degin,还有prompt和prompr,还有没有其他我暂时没看出来。先试试然后检查拼写错误吧

Mgx 发表于 2018-12-20 14:21:46

指头比思想慢 发表于 2018-12-19 18:50
粗略看了一下,基本应该是你拼写错误如begin和degin,还有prompt和prompr,还有没有其他我暂时没看出来。先 ...

谢谢

Mgx 发表于 2018-12-20 14:22:40

Mgx 发表于 2018-12-20 14:21
谢谢

现在还是那个问题
不过是出现这样的代码了
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
    t1.stop()
File "D:\python3\Files\My_Time.py", line 37, in stop
    self._calc()
AttributeError: 'MyTimer' object has no attribute '_calc'

指头比思想慢 发表于 2018-12-20 14:50:58

Mgx 发表于 2018-12-20 14:22
现在还是那个问题
不过是出现这样的代码了
Traceback (most recent call last):


看出错提示啊
'MyTimer' object has no attribute '_calc'这一句告诉你,你在你造的MyTimer类里面使用了‘__calc’这个方法,但是你并没有定义这个方法
你在教室里面喊了一声:小明
但是整个教室里面没有一个叫做”小明“的人

Usinglearning 发表于 2020-7-26 09:53:38

__calc() 函数没有定义,小甲鱼的课程里面还有后面的一部分:
我按照课程的内容写的:
    def _calc(self):
      self.lasted= []
      self.prompt = '总共运行了'
      for index in range(6):
            self.lasted.append(self.end- self.begin)
            if self.lasted:
                self.prompt +=(str(self.lasted)+self.unit)

nahongyan1997 发表于 2020-7-26 10:31:12

Usinglearning 发表于 2020-7-26 09:53
__calc() 函数没有定义,小甲鱼的课程里面还有后面的一部分:
我按照课程的内容写的:
    def _calc(sel ...

你多打了一个下划线 "_"

nahongyan1997 发表于 2020-7-26 10:45:53

Usinglearning 发表于 2020-7-26 09:53
__calc() 函数没有定义,小甲鱼的课程里面还有后面的一部分:
我按照课程的内容写的:
    def _calc(sel ...

你多打了一个下划线   _
页: [1]
查看完整版本: 按照甲鱼的代码写的,运行后和他操作的呈现方式不同啊,是我版本的问题吗?