【Python实践-1】求一元二次方程的两个解

2019-04-21 07:06:16来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

 


原文链接:https://www.cnblogs.com/jianglin1996/p/10741546.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:编程语言的类型

下一篇:【Python实践-3】汉诺塔问题递归求解