Вы звоните values
дважды. Один раз после его определения: w, x, y, z=values()
Затем снова в конце: values()
Редактировать: то же самое с typecast
. Вы тоже дважды его называете.
Вот код с удаленными дубликатами.
def values():
initInv=input("Enter initial investment ")
rate=input("Enter the interest rate in the form of a decimal ")
freq=input("Enter the frequency that the interest is paid out per year ")
years=input("Enter the number of years the interest is compounded for ")
return initInv, rate, freq, years
def typecast():
invest=int(w)
RATE=float(x)
FREQ=int(y)
time=int(z)
return invest, RATE, FREQ, time
def formula():
P=first
r=second
n=third
t=fourth
A=(P*(1+(r/n))**(n*t))
return A
w, x, y, z=values()
first, second, third, fourth=typecast()
A = formula()