text8 = tkinter.Text(window)
text8.place(x=285, y=305, # 设置x,y坐标
width=160, height=20 # 设置长宽
)
# 创建按钮
button3 = tkinter.Button(window, text="内筒预应力计算", fg='red', \
\
font=('方正姚体', 15), # 字体和字体大小
width=50, height=2 # 标签长宽
)
button3.place(x=273, y=245, # 设置x,y坐标
width=180, height=50 # 设置长宽
)
def sum_(self):
number1 = entry1.get() # 获取第一个输入框的值
number2 = entry2.get() # 获取第二个输入框的值
number3 = entry3.get() # 获取第三个输入框的值
number4 = entry6.get() # 获取第六个输入框的值
number8 = entry7.get() # 获取第七个输入框的值
sum_ =0.0
for i in range(int(1),int(number1)+int(1)):
temp1 = (float(number2)*float(number8))/(float(number4)+float(number3)+(i-1)*float(number2))
temp2 = ((number4+number3+(i-1)*number2)/number4)**2
temp3 = ((number4+number3+(i-1)*number3)/number4)**2-1
temp4 = temp2/temp3
sum_=temp1*temp4
text8.delete('1.0', 'end')
text8.insert('insert', sum_) # 输入计算结果
return
button3.bind("" , sum_)
Traceback (most recent call last):
File "D:\python\Python397\lib\tkinter_init.py", line 1892, in call
return self.func(*args)
File "C:\Users\wangtong\PycharmProjects\2022\day1\MainPage.py", line 282, in sum
temp1 = (float(number2)*float(number8))/(float(number4)+float(number3)+(i-1)*float(number2))
ValueError: could not convert string to float: ''
输入框输入的是非法数据?所以才转换失败吧
报错信息很明确,不可以把空字符串转换成float,你的这些文本框里有一个忘记填内容