2013-02-21 88 views
7

不能發佈圖片,因此:a[i]={(-1)^(i+1)*sin(x)*ln(x)}/{i^2*(i+1)!}類型錯誤:一個浮動需要

任務:
需要找到A1,A2,...,一。
n是自然的,它是給出的。

這就是我試圖這樣做的方法:

import math 
a=[] 
k=0 
p=0 
def factorial(n): 
    f=1 
    for i in range(1,n+1): 
    f=f*i 
    return f 

def narys(n): 
    x=input('input x: ') #x isn't given by task rules, so i think that is error else. 
    float(x) 
    k=(math.pow(-1,n+1)*math.sin(x)*math.log10(n*x))/(n*n*factorial(n+1)) 
    a.append=k 

n=int(input('input n: ')) 
narys(n) 
for i in a: 
    print(a[p]) 
    p=p+1 

回答

8

好像你正在使用Python 3.x版。 input調用的結果是字符串取自鍵盤,您將其傳遞給math.sin(...)函數。 float(x)轉換xfloat但不存儲轉換值的任何地方,所以更改:

float(x) 

到:

x = float(x) 

讓你的代碼的正確行爲。

相關問題