Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Проблема с кодом на python

Максим Сергеевич Знаток (437), на голосовании 1 неделю назад
Здраствуйте! У меня проблема в коде. Мне надо что бы в строку s по нажатию на кнопку 1 добавлялась цифра 1 (мне нужна имена 1 в формате строки), но у меня получается так что она при запуске добавляется а дальше кнопка функция не вызывает(вообще я делал калькулятор и решил сделать поменьше кода потому что у меня на каждую цифру была функция добавляющая цифру в s)

Вот сам код:

 from tkinter import * 
from tkinter import ttk

def f(a):
global s
s+=a
lbl['text']=f'{s}'

root= Tk()

s=''


root.geometry('600x500')
root.title('Калькулятор')

lbl=ttk.Label(text=f'{s}', font='Comic_Sans_MS, 15') #ответ


btn1=ttk.Button(text='1', command=f('1')) #1

btn1.pack()
lbl.pack()
root.mainloop()
Голосование за лучший ответ
Skaza Мастер (1335) 1 месяц назад
 from tkinter import * 
from tkinter import ttk

def f(a):
global s
s += a
lbl['text'] = f'{s}'

root = Tk()

s = ''

root.geometry('600x500')
root.title('Калькулятор')

lbl = ttk.Label(text=f'{s}', font='Comic_Sans_MS, 15') # ответ
lbl.pack()

# Используем lambda для передачи аргумента в функцию
btn1 = ttk.Button(text='1', command=lambda: f('1')) # исправление здесь
btn1.pack()

root.mainloop()
Максим СергеевичЗнаток (437) 1 месяц назад
Щас проверю
Максим СергеевичЗнаток (437) 1 месяц назад
спасибо большое
Похожие вопросы