Pythonを勉強中で、本当に初心者な質問をして申し訳ないのですが、教えて下さい。
x=30 y=0 として、
①10秒毎に下記の条件を実行
②x >= 10のとき、x -= 10
③②が実行出来た時、1秒毎に y += 1 が始まる。
④②が実行出来なかった時は、再び②の条件を満たすまで止まる。
時間で書くと以下のような状況になります
0秒後 x=30 y=0
1秒後 x=20 y=1
2秒後 x=20 y=2
3秒後 x=20 y=3
・・(略)・・
10秒後 x=10 y=10
11秒後 x=10 y=11
12秒後 x=10 y=12
・・(略)・・
20秒後 x=0 y=20
21秒後 x=0 y=21
・・(略)・・
30秒後 x=0 y=30
x >= 10を満たしていないのでここでストップ
何かしらの要因でxに10追加された場合、yの値はそのままに条件を実行
0秒後 x=10 y=30
1秒後 x=0 y=31
2秒後 x=0 y=32
この10秒毎のコードの中に1秒毎のコードが混ざる式がかけずに困っています。
諦めて②を x >= 10のとき、x -= 10 and y += 10 をする という文にしようかとも思いましたが、諦めきれなかったのでご質問します。宜しくお願い致します。
x = 30 y = 0 def x_loop(): global x global y win.after(10000,x_loop) #10秒ごとに実行 if (x>=10): x -= 10 # 1秒ごとに実行 ? y += 1 else: return # 上記のif文が成り立つ時に1秒ごとに実行?
回答1件
あなたの回答
tips
プレビュー