我最近开始学习Python,刚刚在CodeAcademy上完成了关于它的课程,所以我一直在尝试提出一些小项目来做,以便练习和真正学习这种语言。我想做的是创建一个时钟,它会随着时间的变化而改变颜色,我绘制了场景,但时间不会随之变化,我如何让场景每秒都重新绘制
from time import strftime
from scene import *
current_time = strftime("%b %d %Y %H:%M:%S")
hour = int(strftime("%H"))
min = int(strftime("%M"))
sec = int(strftime("%S"))
class Clock (Scene):
def draw (self):
self.hour = hour
self.min = min
self.sec = sec
background(0, 0, 0)
fill(0, 0, 0)
w, h = self.size.w, self.size.h
rect(w * 0.5 - 100, h * 0.5 - 100, 200, 200)
s = 40 if self.size.w > 700 else 17
text(current_time,
'Futura', s, *self.bounds.center().as_tuple())
dead = set()
run(Clock())
print current_time
print hex(hour)
print hex(min)
print hex(sec)`
在脚本开始时,您只需计算一次小时、分钟和秒
second
不知道它代表第二个,它只知道它是一个哑整数。这就是为什么它不会在时间改变时自动更新请尝试将
strftime
移动到draw
方法中,以便在每次重新绘制屏幕时执行相关问题 更多 >
编程相关推荐