1059389705 发表于 2019-11-30 22:05:56

关于46python课后作业的问题

本帖最后由 1059389705 于 2019-12-1 20:02 编辑

import time as t

class Record:
    def __init__(self,value=None,name=None):
      self.na = name
      self.val = value
      self.time = []
      self.unit = ['年','月','日','时','分','秒']
      self.prompt = '于北京时间'

    def __get__(self,instance,owner):
      self._timer()
      return self.val

    def __set__(self,instance,value):
      self.val = value
      self._timer()


    def _timer(self):
      current = t.localtime()
      f = open('D:\\record.txt','a',encoding = 'utf-8')
      for index in range(6):
            self.prompt += str(self.time.append(current)) + self.unit
      print(self.prompt)
      f.write('%s变量 %s 被修改 %s = %s \n '% (self.na,self.prompt,self.na,str(self.val)))
      f.close()
      #初始化prompt
      self.prompt = '于北京时间

class Test:
    x = Record(10,'x')
    y = Record(8.8,'y')

1059389705 发表于 2019-11-30 22:07:15

结果:于北京时间None年None月None日None时None分None秒
为什么我的打印出来是这样的啊 这是我自己写的 和小甲鱼方法不太一样 ,其他的都成功就是这个时间都是None啊,求大神指导

1059389705 发表于 2019-12-1 10:24:11

1059389705 发表于 2019-12-1 11:23:30

有没有大佬回答一下呀

1059389705 发表于 2019-12-1 14:15:20

zltzlt 发表于 2019-12-1 16:43:33

代码不全

1059389705 发表于 2019-12-1 20:03:31

zltzlt 发表于 2019-12-1 16:43
代码不全

ok我把代码全打出来啦麻烦大佬看看什么问题

zltzlt 发表于 2019-12-1 20:06:49

应该这样改:

import time as t

class Record:
    def __init__(self,value=None,name=None):
      self.na = name
      self.val = value
      self.time = []
      self.unit = ['年','月','日','时','分','秒']
      self.prompt = '于北京时间'

    def __get__(self,instance,owner):
      self._timer()
      return self.val

    def __set__(self,instance,value):
      self.val = value
      self._timer()


    def _timer(self):
      current = t.localtime()
      f = open('E:\\record.txt','a',encoding = 'utf-8')
      for index in range(6):
            self.prompt += str(current) + self.unit
      print(self.prompt)
      f.write('%s变量 %s 被修改 %s = %s \n '% (self.na,self.prompt,self.na,str(self.val)))
      f.close()
      #初始化prompt
      self.prompt = '于北京时间'

1059389705 发表于 2019-12-2 20:07:22

zltzlt 发表于 2019-12-1 20:06
应该这样改:

谢谢啦OK啦
页: [1]
查看完整版本: 关于46python课后作业的问题