知识点:
-
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('该方程无实数解')