试图从用户输入中获取值序列的RMS,并且需要使用POW函数分别对所有值求平方。
你好
我正在尝试从用户输入中获取值序列的RMS,第一步是所有值都需要平方,但是在尝试编译要平方的数字时,我总是遇到错误(使用POW功能)。我正在尝试在tkinter GUI中完成此操作。
def enter():
entered_RMS=(entry_RMS.get())
result_RMS = entered_RMS.split(' ')
# Cast each element as an integer
for i in range(len(result_RMS)):
result_RMS[i] = int (result_RMS[i])
#square each number
SQR_RMS=pow(result_RMS,2)
# Add all the elements together
RMS_total = sum(SQR_RMS)
#Find the mean by dividing by how many numbers entered
mean= float (RMS_total/ len (SQR_RMS))
#Find the mean by dividing by how many numbers entered
mean= float (RMS_total/ len (SQR_RMS))
label_RMS.configure(text=str(square)+ ' is the RMS')
错误是不断得到
TypeError:**或pow()不支持的操作数类型:“列表”和“整数”
据我了解,这是由于试图将RMS_total用作整数,并且在POW函数中不起作用。
答案 0 :(得分:1)
您的意思是这样的:
import numpy as np
entered_RMS = '1 2 3 4 5'
print(np.sqrt(np.mean(np.array(list(map(float, entered_RMS.split(' '))))**2)))