Возведение в квадрат значений ввода пользователя с помощью POW - PullRequest
0 голосов
/ 14 января 2019

Попытка получить среднеквадратичное значение последовательности значений из пользовательского ввода, и необходимо квадратировать все значения по отдельности с помощью функции POW.

Здравствуйте,

Я пытаюсь получить среднеквадратичное значение последовательности значений из пользовательского ввода, и первый шаг заключается в том, что все значения должны быть в квадрате, но я продолжаю получать ошибку, пытаясь скомпилировать числа для квадрата (используя функция военнопленного). Я пытаюсь завершить это в графическом интерфейсе tkinter.

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 (): 'list' и 'int'

Насколько я понимаю, это связано с попыткой использовать RMS_total в качестве int, и оно не работает в функции POW.

1 Ответ

0 голосов
/ 14 января 2019

вы имеете в виду что-то вроде этого:

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)))
...