【问题标题】:How to use eval() whit kivy TextInput?如何使用 eval() whit kivy TextInput?
【发布时间】:2019-07-02 23:20:22
【问题描述】:

我的 Python kivy 程序中有几个 TextInputs。我想要一个函数,可以将输入相乘、除法或相加,并将结果显示在不同的标签中。但是,如果输入例如是 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"))

【问题讨论】:

    标签: python kivy kivy-language


    【解决方案1】:
    • 使用int() 函数将TextInput 文本/字符串转换为整数
    • 使用str()函数将结果从整数转换为字符串

    片段

    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'))
    

    输出

    猜你喜欢
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 2016-07-11
    • 2017-11-01
    相关资源
    最近更新 更多