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

Как преобразовать число из поля ввода Entry из строкового типа в числовой?

Софья Любинская Ученик (78), открыт 4 дня назад
Помогите, пожалуйста. Простой вопрос, а понять не могу.

e=Entry()
e.pack()
a=e.get()
print(type(a))
b=int(a)
print(type(b))

Вот такая выходит ошибка:

<class 'str'>
ValueError: invalid literal for int() with base 10: ''
1 ответ
Анатолий Зяблин Просветленный (28301) 4 дня назад
Вот попробуй
 from tkinter import Tk, Entry 

root = Tk()
e = Entry(root)
e.pack()

def convert_input():
a = e.get()
if a: # Проверяем, не пустая ли строка
try:
b = int(a)
print(f"Преобразованное число: {b}, тип: {type(b)}")
except ValueError:
print("Ошибка: Введите корректное целое число.")
else:
print("Поле ввода пустое. Пожалуйста, введите число.")

# Добавьте кнопку для вызова функции
from tkinter import Button
btn = Button(root, text="Преобразовать", command=convert_input)
btn.pack()

root.mainloop()
Софья ЛюбинскаяУченик (78) 4 дня назад
Я поняла сама свою ошибку. Просто у меня не было кнопки, по которой получаем результат ввода. Грубейшая ошибка. Но все равно вам спасибо.
Анатолий Зяблин Просветленный (28301) Софья Любинская, Не за что!
Похожие вопросы