Как использовать eval () с Kivy TextInput? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть несколько TextInputs в моей программе Python KIVY.И я хочу функцию, которая умножает, делит или добавляет входы и отображает результат в другой метке.Но если входные значения, например, 40 и 60, на этикетке отображается только 4060 вместо 100.

Что я делаю не так?

def numbers_submit(self):
    ti = self.ids.one_input.text
    fi = self.ids.two_input.text
    ei = self.ids.three_input.text

    fl = self.ids.result_label 

    fl.text = eval("ti + fi")

Я также попытался:

   fl.text = eval(str("ti + fi"))

1 Ответ

0 голосов
/ 03 июля 2019
  • Преобразование текста / строки TextInput в целое число с помощью функции int()
  • Преобразовать результат из целого числа в строку, используя str() function

Отрывки

def numbers_submit(self):
    ti = int(self.ids.one_input.text)
    fi = int(self.ids.two_input.text)
    ei = self.ids.three_input.text

    fl = self.ids.result_label

    fl.text = str(eval('ti + fi'))

выход

Result: 40 + 60 = 100

...