知識點:
-
import sys, sys模塊包含了與Python解釋器和它的環境有關的函數。 “sys”是“system”的縮寫。sys.exit() 中途退出程序, (注:0是正常退出,其他為不正常,可拋異常事件供捕獲!)
-
from math import *,這樣聲明,可以直接使用math()函數;如果聲明為import math,則需math.sqrt()
-
input()輸入是字符串類型,split()以空格分割字符串
-
判斷是否為數字類型,否則拋出異常,中止程序執行
- 函數返回多個值,其實是一種假象,返回的是一個tuple,在語法上,返回一個tuple可以省略括號,而多個變量可以同時接收一個tuple,按位置賦給對應的值,所以,Python的函數返回多值其實就是返回一個tuple。
- 函數體內部可以用
return隨時返回函數結果;函數執行完畢也沒有return語句時,自動return None。
# -*- coding: utf-8 -*- #定義一個函數求一元二次方程的兩個解 from math import * import sys #參數a,b,c需均為整數或浮點數,(b**2)-(4*a*c)應大於0 def quadratic(a,b,c): x1=(-b+sqrt((b**2)-(4*a*c)))/(2*a) x2=(-b-sqrt((b**2)-(4*a*c)))/(2*a) return x1,x2 #檢查參數a,b,c數據類型,否則拋出異常,中止程序 a,b,c=input('請輸入一元二次方程組的a,b,c三個參數,以空格分割:').split() try: a = float(a) except ValueError: print("input is not a float!") sys.exit() #退出程序 try: b = float(b) except ValueError: print("input is not a float!") sys.exit() try: c = float(c) except ValueError: print("input is not a float!") sys.exit() #print('a:%.2f,b:%.2f,c:%.2f'%(a,b,c)) #方程求解 if (b**2)-(4*a*c)>0: x1,x2=quadratic(a,b,c) print('一元二次方程的兩個解為:','x1:%.2f,x2:%.2f'%(x1,x2)) else: print('該方程無實數解')
