首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >TypeError:无法将序列乘以'float‘| Python类型的非整数

TypeError:无法将序列乘以'float‘| Python类型的非整数
EN

Stack Overflow用户
提问于 2021-11-16 12:55:20
回答 1查看 35关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
复制
h = s * math.tan(a * 3.14/180) - g * s * s / (v**2 * math.cos(a*3.14/180)**2 * 2)

提供:

代码语言:javascript
代码运行次数:0
运行
复制
TypeError: can't multiply sequence by non-int of type 'float'

完整代码:

代码语言:javascript
代码运行次数:0
运行
复制
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)  

请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2021-11-16 12:58:32

s是一个字符串(因此有方位号)。在算术运算中使用引号之前,您需要删除引号或将其转换为数值类型(例如int(s))。

编辑:

没有看到.get() (Tkinter?)返回的va变量。在这里,您需要转换。因为它不确定它是一个整数,所以我使用float()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69989562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档