Python代码:
...
def get(a,b,c,d):
float(a)
float(b)
float(c)
float(d)
Ans = str((a*c+b*d)/(c+d))
return {'C':Ans}
class Cont(GridLayout):
def cal(self):
i1 = self.c1.text
i2 = self.c2.text
i3 = self.m1.text
i4 = self.m2.text
gett = get(i1,i2,i3,i4)
if self.c.text == '?':
print(gett.get('C'))
class App(App):
def build(self):
return Cont()
...
基维代码:
<Cont>:
rows: 2
c: C
c1: C1
c2: C2
m1: M1
m2: M2
BoxLayout:
orientation: 'vertical'
padding: [70]
spacing: 100
TextInput
id: C
size_hint: (1, .1)
font_size: (100)
multiline: False
TextInput
id: C1
size_hint: (1, .1)
font_size: (100)
multiline: False
TextInput
id: C2
size_hint: (1, .1)
font_size: (100)
multiline: False
TextInput
id: M1
size_hint: (1, .1)
font_size: (100)
multiline: False
TextInput
id: M2
size_hint: (1, .1)
font_size: (100)
multiline: False
BoxLayout:
size_hint: (1,.2)
padding: [40,0,40,20]
Button:
text: 'test'
on_press: root.cal()
傻了半天不知道怎么解决?(刚开始学*.kv语言,以前不用它写)
你能帮忙吗,有必要从用户输入的值的TextInputs中填写,而不是'?答案写在输出端(变量 Ans)。

修理它
在
float 本身不会改变你提供给它的变量的类型。它只是返回一个适当类型的新对象。如果你没有在任何地方分配这个返回值,那么它就会消失。
因此,表格的代码
它实际上根本没有做任何事情,它不会以任何方式改变程序中任何东西的状态。