Python

Привет, меня зовут Виктор, я изучаю Python уже третий день. Я записывал секундомер и допустил ошибку. Я потратил час....

 Python: 
#Приложение секундомер
import tkinter
from datetime import datetime

#азовые переменные
counter = 0
running= False

def counter_lable(lable):
def count():
if running:
global counter
if counter == 0:
display = 'Готов'
else:
tt = datetime.utcformannimestamp(counter)
string = tt.strftime('%H:%M:%S')
display = string

label['text'] = display
label.after(1000, count)#1000 = 1 секунда
couner = counter + 1
count()

# 3 кнопки для секундомера: start, stop, reset
# Функция старт
def start(label):
global running
running = True
counter_lable(lable)
start['state'] = 'disabled'
stop['state'] = 'normal'
reset['state'] = 'normal'

# Функция стоп
def stop():
global running
start['state'] = 'normal'
stop['state'] = 'disabled'
reset['state'] = 'normal'
running = False

# Функия reset
def reset(label):
global running
counter = 0
if not running:
reset['state'] = 'disabled'
label['text'] = '00:00:00'
else:
label['text'] = '00:00:00'

def counter_lable(lable):
def count():
if running:
global counter
if counter == 0:
display = 'Готов'
else:
tt = datetime.utcformannimestamp(counter)
string = tt.strftime('%H:%M:%S')
display = string

label['text'] = display
label.after(1000, count)#1000 = 1 секунда
couner = counter + 1
count()

# Интерефйс
root = tkinter.Tk()
root.title('Секундомер') #Название окна
root.minsize(width=25,hight=70)#Ширина и высота
label = tkinter.Lable(root, text="Готов!", fg='black',font='Verdana 30 Bold') #Стилизация
f = tkinter.Frame(root) #Поле для размещения кнопок
start = tkinter.Button(f,text = 'Старт',width = 6, command=lambda:Start(lable))
stop = tkinter.Button(f,text = 'Стоп',width = 6, state='disabled',command=Stop(lable))
reset = tkinter.Button(f,text ='Обновить',width = 6, state='disabled', command=lambda:Reset(lable))
f.pack(anchor='center',pady=5)
start.pack(side = 'left')
stop.pack(side = 'left')
reset.pack(side = 'left')
root.mainloop() # Бесконечный цикл
Если на третий день "обучения" ты полез в секундомер, значит вместо того, чтобы читать нормальный учебник и делать нормальные учебные задания, ты страдаешь фигнёй, не имеющей никакого отношения к обучению. Полагаю, смотришь очередные говнокурсы за авторством очередного неуча.
Олег Сумкин
Олег Сумкин
81 785
Лучший ответ
 # Приложение секундомер 
import tkinter
from datetime import datetime

# Базовые переменные
counter = 0
running = False

def counter_label(label):
def count():
if running:
global counter
if counter == 0:
display = 'Готов'
else:
tt = datetime.fromtimestamp(counter)
string = tt.strftime('%H:%M:%S')
display = string

label['text'] = display
label.after(1000, count) # 1000 = 1 секунда
counter += 1
count()

# 3 кнопки для секундомера: start, stop, reset
# Функция старт
def start(label):
global running
running = True
counter_label(label)
start_button['state'] = 'disabled'
stop_button['state'] = 'normal'
reset_button['state'] = 'normal'

# Функция стоп
def stop():
global running
start_button['state'] = 'normal'
stop_button['state'] = 'disabled'
reset_button['state'] = 'normal'
running = False

# Функция reset
def reset(label):
global counter, running
counter = 0
if not running:
reset_button['state'] = 'disabled'
label['text'] = '00:00:00'
else:
label['text'] = '00:00:00'

# Интерфейс
root = tkinter.Tk()
root.title('Секундомер') # Название окна
root.minsize(width=250, height=70) # Ширина и высота
label = tkinter.Label(root, text="Готов!", fg='black', font='Verdana 30 bold') # Стилизация
label.pack()
f = tkinter.Frame(root) # Поле для размещения кнопок
start_button = tkinter.Button(f, text='Старт', width=6, command=lambda: start(label))
stop_button = tkinter.Button(f, text='Стоп', width=6, state='disabled', command=stop)
reset_button = tkinter.Button(f, text='Обновить', width=6, state='disabled', command=lambda: reset(label))
f.pack(anchor='center', pady=5)
start_button.pack(side='left')
stop_button.pack(side='left')
reset_button.pack(side='left')
root.mainloop() # Бесконечный цикл
Я исправил несколько опечаток и ошибок в коде. Например, datetime.utcformannimestamp должно быть datetime.fromtimestamp, а couner должно быть counter. Также я заменил названия кнопок на start_button, stop_button и reset_button, чтобы избежать конфликта с именами функций.
DY
David Yakubov
25 860
Как найдешь дай знать
Александр Пивоваров И енд не написан
Тупаца, 17 строчка не так пишется
Ты же адольф