私は単純なトラフィックライトシミュレータをPythonで持っていますが、すべては問題ありませんが、ループを終了する条件を追加していません。私は自分のコードに追加:特定の時間の後にループを終了する
import time
from time import sleep
from tkinter import *
tk=Tk()
win=Canvas(tk, width=55, height=200)
win.pack()
#functions
def red(a):
for i in range(a):
red=win.create_oval(5,5,50,50, fill="red")
tk.update()
time.sleep(0.02)
def redb(a):
for i in range(a):
red=win.create_oval(5,5,50,50, fill="black")
tk.update()
time.sleep(0.02)
def amber(a):
for i in range(a):
amber=win.create_oval(5,55,50,100, fill="orange")
tk.update()
time.sleep(0.02)
def amberb(a):
for i in range(a):
amber=win.create_oval(5,55,50,100, fill="black")
tk.update()
time.sleep(0.02)
def green(a):
for i in range(a):
green=win.create_oval(5,105,50,150, fill="green")
tk.update()
time.sleep(0.02)
def greenb(a):
for i in range(a):
green=win.create_oval(5,105,50,150, fill="black")
tk.update()
time.sleep(0.02)
return red
def lights():
red=win.create_oval(5,5,50,50, fill="black")
amber=win.create_oval(5,55,50,100, fill ="black")
green=win.create_oval(5,105,50,150, fill="black")
#end of functions
#calling the functions
lights()
while True:
red(30)
redb(1)
amber(10)
amberb(1)
green(30)
greenb(1)
tk.mainloop()
おそらく、あなたのコードがナンセンスでないように[あなたのインデントを修正する]ことができます(http://stackoverflow.com/posts/43327613/edit)。 – khelwood
私は急いでしました、私はここで何か新しいことを試しています –
あなたのコードのインデントが壊れています。 –