Tell us what’s happening:
Describe your issue in detail here.
I’m getting this error TypeError: unsupported operand type(s) for -: ‘type’ and ‘dict’
I have ran my code in my local IDE and it works fine and also throws ValueError if the given list contains less that 9 elements.
Your code so far
import numpy as np
def calculate(list):
if len(list)==9:
arr=np.array(list).reshape(3,3)
mean=[[arr[:,:1].mean(),arr[:,1:2].mean(),arr[:,2:].mean()],[arr[:1,:].mean(),arr[1:2,:].mean(),arr[2:,:].mean()],arr.mean()]
var=[[arr[:,:1].var(),arr[:,1:2].var(),arr[:,2:].var()],[arr[:1,:].var(),arr[1:2,:].var(),arr[2:,:].var()],arr.var()]
std=[[arr[:,:1].std(),arr[:,1:2].std(),arr[:,2:].std()],[arr[:1,:].std(),arr[1:2,:].std(),arr[2:,:].std()],arr.std()]
max=[[arr[:,:1].max(),arr[:,1:2].max(),arr[:,2:].max()],[arr[:1,:].max(),arr[1:2,:].max(),arr[2:,:].max()],arr.max()]
min=[[arr[:,:1].min(),arr[:,1:2].min(),arr[:,2:].min()],[arr[:1,:].min(),arr[1:2,:].min(),arr[2:,:].min()],arr.min()]
sum=[[arr[:,:1].sum(),arr[:,1:2].sum(),arr[:,2:].sum()],[arr[:1,:].sum(),arr[1:2,:].sum(),arr[2:,:].sum()],arr.sum()]
Calculations=dict([('Mean',mean),('Variance',var),("Standard Deviation",std),('Max',max),('Min',min),('Sum',sum)])
return type(sum)
else:
raise ValueError('List must contain nine numbers.')
Your browser information:
Chrome Browser
Challenge: Data Analysis with Python Projects - Mean-Variance-Standard Deviation Calculator
Link to the challenge: