0
import ui
from time import *
start = int(time())
def stop_time(sender):
    finish = int(time())
    total_time = int(finish - start)
    button1 = str("Your time is %i seconds." % (total_time))
    sender.title = None
    sender.title = str(button1)

如何允许重新启动按钮更改启动变量?

def restart_time(sender):
    start = int(time())
    button2 = str("Stopwatch restarted.")
    sender.title = None
    sender.title = str(button2)
ui.load_view('stop_time').present('sheet')
4

1 回答 1

1

默认情况下,当您在函数中首次分配标识符时,它会创建一个局部变量,即使存在同名的全局变量也是如此。试试这个:

def restart_time(sender):
    global start
    start = int(time())
    button2 = str("Stopwatch restarted.")
    sender.title = None
    sender.title = str(button2)

Python FAQ 中的相关条目

在 Python 中,仅在函数内部引用的变量是隐式全局的。如果一个变量在函数体内的任何地方都被赋予了一个新值,那么它就被认为是一个局部变量。如果一个变量在函数内部被赋予了一个新值,那么该变量是隐式本地的,您需要将其显式声明为“全局”。

于 2015-05-06T07:36:54.327 回答