Задать вопрос
@Zero_00

Есть ли альтернатива get()?

Нужно, чтобы get() принимал не строку, а число.
Например:
x = Entry()
x.get() #принимает строку
x.???() #принимает число

Если такого не существует, можно ли как-то это заменить?
  • Вопрос задан
  • 215 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
ScriptKiddo
@ScriptKiddo
from tkinter import *
from tkinter import messagebox as mb

root = Tk()
root.geometry('500x200')
root.resizable(False, False)
root.title('Деление на 3')
root['bg'] = 'grey22'
txt = Label(text='Напишите число:', fg='white', bg='black')
txt.grid()
ent = Entry()
ent.grid(column=2, row=0)


def divBy3():
    num = ent.get()
    if not num.isnumeric():
        mb.showerror(title='Ошибка', message='Произошла ошибка. Вы написали не число')
    else:
        num = int(num)
        oper = num / 3  # get принимает только строки :(
        if num % 3 == 0:
            mb.showinfo(title='Информация', message='Число делится на 3, результат: ' + str(oper))
        elif num % 3 != 0:
            mb.showinfo(title='Информация', message='Данное число не делится на 3!')



btn = Button(text='Нажать', width=15, command=divBy3)
btn.place(x=250)
root.mainloop()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Up0
x = Entry()
a=x.get() #принимает строку
b=int(x.get()) #принимает целое число
c=float(x.get()) #принимает число с плав.зпт
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы