关于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') 结果:于北京时间None年None月None日None时None分None秒
为什么我的打印出来是这样的啊 这是我自己写的 和小甲鱼方法不太一样 ,其他的都成功就是这个时间都是None啊,求大神指导 顶 有没有大佬回答一下呀 顶 代码不全 zltzlt 发表于 2019-12-1 16:43
代码不全
ok我把代码全打出来啦麻烦大佬看看什么问题 应该这样改:
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 = '于北京时间' zltzlt 发表于 2019-12-1 20:06
应该这样改:
谢谢啦OK啦
页:
[1]