亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Python函數之返回多值一元二次方程的定義是:ax² + bx + c = 0請參考求根公式:x = (-b±√(b²-4ac)) / 2a

1#import?math

def?quadratic_equation(a,?b,?c):
????de=b**2-4*a*c
????if?de>=0:
????????x1=(-b+math.sqrt(de))/(2*a)
????????x2=(-b-math.sqrt(de))/(2*a)
????????return?x1,x2
????else:
????????return

print?quadratic_equation(2,?3,?0)
print?quadratic_equation(1,?-6,?5)

3#import?math
def?quadratic_equation(a,?b,?c):
????t?=?math.sqrt(b?*?b?-?4?*?a?*?c)
????return?(-b?+?t)?/?(2?*?a),(?-b?-?t?)/?(2?*?a)
print?quadratic_equation(2,?3,?0)
print?quadratic_equation(1,?-6,?5)

2#import?math

def?quadratic_equation(a,?b,?c):
????if?(b*b-4*a*c)<0:
????????return?"no?real?root"
????else:
????????x=b*b-4*a*c
????????return?(-b+math.sqrt(x))/(2*a),(-b-math.sqrt(x))/(2*a)

print?quadratic_equation(2,?3,?0)
print?quadratic_equation(1,?-6,?5)

一元二次方程雖然我現在只上高中知道怎么在作業本上解但是在python完全不能理解def quadratic_equation(a, b, c):下面的計算過程誰能幫我理解一下?

print quadratic_equation(2, 3, 0)
print quadratic_equation(1, -6, 5)

def quadratic_equation(a, b, c):
這3個代碼里面不變的是什么?

計算公式吧#de=b**2-4*a*c
? ?if de>=0:
? ? ? ?x1=(-b+math.sqrt(de))/(2*a)
? ? ? ?x2=(-b-math.sqrt(de))/(2*a)
? ? ? ?return x1,x2

#def quadratic_equation(a, b, c):
? ?t = math.sqrt(b * b - 4 * a * c)
? ?return (-b + t) / (2 * a),( -b - t )/ (2 * a)

#def quadratic_equation(a, b, c):
? ?if (b*b-4*a*c)<0:
? ? ? ?return "no real root"
? ?else:
? ? ? ?x=b*b-4*a*c
? ? ? ?return (-b+math.sqrt(x))/(2*a),(-b-math.sqrt(x))/(2*a)

正在回答

2 回答

你首先要想明白一件事,方法并不是在解一元二次方程,

def quadratic_equation(a, b, c)? 你是在定義一個方法,它的意義是你傳給這個方法a,b,c?三個參數,然后回傳給你返回值,你想要得到的結果是? ?x = (-b±√(b2-4ac)) / 2a? ,是兩個值所以要有兩個返回值,

而這個返回值是通過計算得出的結果X1,X2?或者 (-b+math.sqrt(x))/(2*a),? (-b-math.sqrt(x))/(2*a)?或者(-b + t) / (2 * a),? ( -b - t )/ (2 * a)?

再來分開說,下邊是計算的過程

def?quadratic_equation(a,?b,?c):?????????#這個方法需要傳入a,b,c三個參數

????????de=b**2-4*a*c? ? ????????????????????????#de=b的平方-4*a*c ( δ 二次方程的判別式)

????????if de>=0:????????????? ????????????????????? #如果de大于0 (一元二次方程有解的要求)

????????x1=(-b+math.sqrt(de))/(2*a)? ? ? #x1=(-b+( 根號下(de) ) )除以(2*a) ????#de=b**2-4*a*c

????????x2=(-b-math.sqrt(de))/(2*a)????????#同上

????????return?x1,x2????????????????????????????????#將方法中定義的 x1,x2?返回

現在稍微理解了么?

def jiafa(a,b):????????????????#定義一個方法?方法的名字是 jiafa?需要傳入a,b?兩個參數

????qiuhe=a+b????????????????# = =~就是?a+b

????return qiuhe????????????? ? #?將結果返回

這就是一個簡單的加法,將return?換一下

def jiafa2(a,b):????????????????#定義一個方法?jiafa2 需要傳入a,b?兩個參數

????qiuhe=a+b????????????????# = =~就是?a+b

????return a+b? ? ? ? ? ? ? ? #?將結果返回 (這樣第二行的qiuhe就沒意義了?可以刪掉)

兩個方法完全相同

print jiafa(1,3)????????????????#打印?jiafa(1,3)??

print jiafa2(1,3)????????????????#打印?jiafa2(1,3)?

結果是一樣的

還有不管什么情況下,只要方法中走到 return 的時候,就會退出該方法,不在繼續

(希望能幫助你,python 學起來還算簡單,在遇到卡住的時候,一行一行的看,每一行都用#寫注解,能夠幫助你更直觀的看代碼)

2 回復 有任何疑惑可以回復我~
#1

雪乃 提問者

非常感謝!
2018-01-22 回復 有任何疑惑可以回復我~

def 是定義 函數名字和函數內容? +? ?quadratic_equation(括號里面的 是 一元二次方程里面的? a,b,c)這是函數名? +? ?函數名下面是? 定義的函數如何計算, 也就是求根公式。?

print? +? 函數名?quadratic_equation()? ? 是調用你定義的函數的計算方法。

quadratic_equation(括號里面的 是 一元二次方程里面的? a? ?b? ?c)也就是帶入參數在函數里面計算。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758392    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

Python函數之返回多值一元二次方程的定義是:ax² + bx + c = 0請參考求根公式:x = (-b±√(b²-4ac)) / 2a

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號