【Python实践-1】求一元二次方程的两个解[通俗易懂]

【Python实践-1】求一元二次方程的两个解[通俗易懂]知识点:importsys,sys模块包含了与Python解释器和它的环境有关的函数。“sys”是“system”的缩写。sys.exit()中途退出程序,(注:0是正常退出,其他为不正常

大家好,又见面了,我是你们的朋友全栈君。

知识点:
  • 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://javaforall.net/156071.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月5日 下午7:00
下一篇 2022年7月5日 下午10:16


相关推荐

  • object转string的四种方式

    object转string的四种方式通常 object 到 string 有四种方式 假设有 objectobj obj ToString Convert ToString string obj objasstring 他们都能将 object 对象转换成 string 对象 我就讲讲他们的异同以及在实际中应该使用哪个 前两个方法通常是由别的对象得到 string 对象 它们间的区别只表现在要转换的对象为 null 时

    2025年10月30日
    6
  • Redis(缓存穿透,缓存击穿,缓存雪崩)「建议收藏」

    Redis(缓存穿透,缓存击穿,缓存雪崩)「建议收藏」文章目录缓存穿透缓存击穿缓存雪崩缓存穿透数据库中没有这个数据,内存中也没有这个数据简单场景public class demoController { public R selectOrderById(int id){ Object redisObj = ValueOperations.get(Strubg.valueof(id)); if(redisObj != null){ return new R().setCode(200).

    2022年8月9日
    5
  • idea查看接口方法的实现方法_jsp接口实现类

    idea查看接口方法的实现方法_jsp接口实现类1.查找接口的实现类:Ctrl+H2.跳转到指定方法的接口:Ctrl+鼠标左键输入快捷键+点击之后跳转至下图3.跳转到指定方法的接口的实现类:Ctrl+Alt+鼠标左键输入快捷键+点击之后跳转至下图……

    2022年8月15日
    15
  • luigi框架–关于python运行spark程序

    luigi框架–关于python运行spark程序

    2022年3月4日
    38
  • pip常用命令以及升级方法

    pip常用命令以及升级方法pip常用命令以及升级方法使用python时经常使用到pip命令,可以方便安装python的各种第三方库1:查看pip打开cmd窗口,输入pip命令,会显示pip所有的参数使用方法如果输入pip提示Didnotprovideacommand,可能是没有配置环境变量导致的,也可能系统安装有多个pip2:查看pip的安装路径wherepip3:查看pip版本pip-V(注意V要大写)4:pip升级方法安装python第三方包时,会有pip版本的提示方法一:输入pipin

    2022年6月4日
    60
  • UEditor用法

    UEditor用法

    2021年12月31日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号