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 に答える