【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('该方程无实数解')

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156071.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 罗技 mk275 键盘不能输入的解决方案「建议收藏」

    罗技 mk275 键盘不能输入的解决方案「建议收藏」罗技mk275键盘不能输入的解决方案今天隔壁办公室的同事的电脑突然不能输入,初步怀疑是键盘的问题,赶紧换套键盘,它就是罗技mk275!!!拆掉包装,上电池,把接收器插上,发现问题鼠标可以用~回车键可以用~就是字母键没有反应!!!赶紧百度,发现是驱动的问题,按照教程更新键盘驱动。还不行,键盘没有反应……键盘不会是坏的吧,得赶紧退货!!!不,还有两套新键盘没有…

    2022年10月15日
  • 网络爬虫之动态内容爬取

    根据联合国网站可访问性审计报告,73%的主流网站都在其重要功能中依赖JavaScript。和单页面应用的简单表单事件不通,使用JavaScript时,不再是加载后立即下载所有页面内容。这样会造成许多网

    2021年12月29日
  • 自定义QTreeView

    自定义QTreeViewQt之QTreeView(一) (2014-12-2316:51:33)转载▼标签: qt qtreeview qtableview qabstractitemmodel分类: Qt    之前有讲解过QTableView的使用Qt之QTableView,这节讲解一下也较为常用

  • XXE注入漏洞

    XXE注入漏洞什么是XML要想清楚XXE漏洞,首先要了解XMLXML可扩展标记语言(EXtensibleMarkupLanguage)。它是一门用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型。XML很像HTML,但是标签没有被预定义,需要自行定义标签。它的文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。它的设计宗旨是传输数据,而不是显示数据。php版本大于5.4.45的默认不解析外部实体传参实体:有%一般实体:无%xxe漏洞与ssrf漏洞相似虽然场景不同,

  • 设计模式——门面模式「建议收藏」

    设计模式——门面模式「建议收藏」今天我们继续来学习前面没有学完的结构型设计模式中的一种:门面模式。门面模式也是一种不太常用的设计模式。所以,我们今天依旧是了解为主,暂时不去深入的学习。概述门面模式:(FacadeDesignPattern)门面模式也叫外观模式,门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。门面模式原理和实现也比较简单,应用场景也比较明确,主要在接口设计方面使用。何时使用:解决易用性问题。解决性能问题。解决分布式事务问题。UML类图:角色组成:门面角色:客户端调用这个

  • CentOS中设置系统级代理

    CentOS中设置系统级代理YUM代理设置 编辑/etc/yum.conf,在最后加入#Proxyproxy=http://username:password@proxy_ip:port/ 也可以使用proxy_username和proxy_password来配置代理的用户名和密码 这样的配置完成后,所有的用户在使用yum时,都会使用代理,可以说是全局代理。 如果需要为单独的用户配置

发表回复

您的电子邮箱地址不会被公开。

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