Python 在重新绘制场景时遇到问题

Python 在重新绘制场景时遇到问题,python,Python,我最近开始学习Python,刚刚在CodeAcademy上完成了关于它的课程,所以我一直在尝试提出一些小项目来做,以便练习和真正学习这种语言。我想做的是创建一个时钟,它会随着时间的变化而改变颜色,我绘制了场景,但时间不会随之变化,我如何让场景每秒都重新绘制 from time import strftime from scene import * current_time = strftime("%b %d %Y %H:%M:%S") hour = int(strftim

我最近开始学习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不知道它代表second,它只知道它是一个哑整数。这就是为什么它不会在时间改变时自动更新

尝试将strftimes移到draw方法中,以便在每次重新绘制屏幕时执行

def draw (self):
    current_time = strftime("%b %d %Y %H:%M:%S")
    hour = int(strftime("%H"))
    min = int(strftime("%M"))
    sec = int(strftime("%S"))
    self.hour = hour
    self.min = min
    self.sec = sec
    #...etc

我试着运行你的代码,得到了缩进错误:未缩进与任何外部缩进级别都不匹配。请告知。我认为死机=设置可能是罪魁祸首,因为我在工作,所以我在手机上这么做,所以缩进可能有点不对劲。编辑:Current_time=strftime也可能是问题所在,idk如何获得如此多的空间感谢澄清:-还有一个问题。什么是场景?老实说,idk,我刚开始只是使用导入时间,然后我去发现我正在使用的应用程序上的一些代码,它生成了弹出框,它被称为场景,我在不在家的时候使用pythonestia,以便更容易地练习OP正在使用包,显然,它包含在Pythonista中,Pythonista是用于iOS的Python发行版。