h = s * math.tan(a * 3.14/180) - g * s * s / (v**2 * math.cos(a*3.14/180)**2 * 2)
提供:
TypeError: can't multiply sequence by non-int of type 'float'
完整代码:
import math
g = 9.81
s = 25
v = float(txtv.get())
a = float(txta.get())
h = s * math.tan(a * 3.14/180) - g * s * s / (v**2 * math.cos(a*3.14/180)**2 * 2)
window = Tk()
window.title("Добро пожаловать в приложение PythonRu")
window.geometry('400x250')
lbls = Label(window, text="Ввод переменной S:")
lbls.grid(column=0, row=0)
txts = Entry(window,width=10)
txts.grid(column=1, row=0)
lblv = Label(window, text="Ввод переменной Vo:")
lblv.grid(column=0, row=1)
txtv = Entry(window,width=10)
txtv.grid(column=1, row=1)
lbla = Label(window, text="Ввод переменной a:")
lbla.grid(column=0, row=2)
txta = Entry(window,width=10)
txta.grid(column=1, row=2)
请帮帮忙
发布于 2021-11-16 04:58:32
s
是一个字符串(因此有方位号)。在算术运算中使用引号之前,您需要删除引号或将其转换为数值类型(例如int(s)
)。
编辑:
没有看到.get()
(Tkinter?)返回的v
和a
变量。在这里,您需要转换。因为它不确定它是一个整数,所以我使用float()
。
https://stackoverflow.com/questions/69989562
复制