2016-04-24 5 views
0
def quadratic_roots(a,b,c): 
     if not (type(a)==int or type(a)==float) and (type(b)==int or type(b)==float)\ 
    and (type(c)==int or type(c)==float): 
    print("Error. Must be numbers.") 
    return None 
equation=(b**2)-(4*a*c) 
realRoots=[] 
if equation<0: 
    return realRoots 
elif equation==0: 
    x1=-b/(2*a) 
    #realRoots.append(x) 
    return [x1] 
else: 
    x1=(-b+((equation)^(1/2))/(2*a) 
    x2=(-b-((equation)^(1/2))/(2*a) 
    return realRoots.append(x1,x2) 

私の二次根をリストに入れる必要がありますが、構文エラーが発生します。コードが正しく機能するように編集するにはどうすればよいですか?二次根をリストに配置する

答えて

1

appendは、一つの引数を取り、戻りNonedocumentation):

return realRoots.append(x1,x2) # cannot work 

# Instead, either `append` one by one: 
realRoots.append(x1) 
realRoots.append(x2) 
return realRoots 

# or use 'extend': 
realRoots.extend([x1, x2]) 
return realRoots 

# or the simplest 
return [x1, x2] 

をところで、Pythonで「power'オペレータが**、ない^ある:@schwobasegglが言ったように

> 2**3 
8 

> 2^3 
1 
0

、演算子と追加構文を変更する必要があります。 もappendメソッドは、任意の値(デフォルトはなし)を返さないことに気づく のでreturn realRoots.append(x1)realRootsx1を追加しますが、None

を返します。
関連する問題