布尔问题
本帖最后由 qin_yin 于 2020-11-6 21:46 编辑import time as t
'''time.localtime()
接收时间辍(1970 纪元年后经过的浮点秒数)并返回当地时间下的时间元组 t(t.tm_isdst 可取 0 或 1,取决于当地当时是不是夏令时)
'''
class timer:
beg = 0
end = 0
#开始计时
def start(self):
self.beg = t.localtime()
print('开始计时')
#停止计时
def stop(self):
if not self.beg:
print('提示:请先启动计时')
else:
self.end = t.localtime()
self._count_time()
#总计时间
def _count_time(self):
total_s = ''
for i in range(6):
temp = str(self.end - self.beg)
print(bool(temp))
if temp:
total_s += temp
print(total_s)
self.beg = 0
self.end = 0
a = timer()
a.start()
t.sleep(3)
a.stop()
以上模块并未完善,在中途发现了个问题
temp = str(self.end - self.beg),当这里的结果为0,0不是相当于False,为什么这里0属于True ? 昨非 发表于 2020-11-6 21:46
?
刚才没编辑好 而且这里 if temp:
total_s += temp
写成:if temp != 0:当temp为0的时候依然可以进入这个条件,亲测 qin_yin 发表于 2020-11-6 21:51
而且这里 if temp:
total_s += temp
写成:if temp != 0:当temp为0的时候依然可以进入这 ...
#总计时间
def _count_time(self):
total_s = ''
for i in range(6):
temp = str(self.end - self.beg)
print(bool(temp))
if temp:
total_s += temp
print(total_s)
self.beg = 0
self.end = 0
能解释下你这个for 0到5是什么用意吗 虽然不是很明白你这代码要计算什么,猜你要总计循环6次的时间?import time as t
'''time.localtime()
接收时间辍(1970 纪元年后经过的浮点秒数)并返回当地时间下的时间元组 t(t.tm_isdst 可取 0 或 1,取决于当地当时是不是夏令时)
'''
class timer:
beg = 0
end = 0
#开始计时
def start(self):
self.beg = t.time()
print('开始',self.beg)
print('开始计时')
#停止计时
def stop(self):
if not self.beg:
print('提示:请先启动计时')
else:
self.end = t.time()
print('结束',self.end)
self._count_time()
#总计时间
def _count_time(self):
total_s = 0
for i in range(6):
temp = self.end - self.beg
print('间隔',temp)
print(bool(str(temp)))
if temp:
total_s += temp
print('总计',total_s)
self.beg = 0
self.end = 0
a = timer()
a.start()
t.sleep(3)
a.stop()
然后你说的布尔问题
print(bool(str(0)))
print(bool(0))
结果是:
True
False for i in range(6):
temp = self.end - self.beg
print(bool(temp))
if temp:
total_s += str(temp) 昨非 发表于 2020-11-6 22:19
能解释下你这个for 0到5是什么用意吗
这是还没写完的代码,我是想for循环t.localtime()返回的元组,相减得到用时长,年月日
页:
[1]