python每日一练3:计算二次方程式

import cmath
#求解二次方程式:ax**2+bx+c=0

def number():
    a = (input("请输入a的值:"))
    while not a.isdigit():
        a = input("a的输入不是数字,请重新输入:")#判断输入的是否为数字,若不是重新输入
    b = (input("请输入b的值:"))
    while not b.isdigit():
        b =input("b的输入不是数字,请重新输入:")
    c = (input("请输入c的值:"))
    while not c.isdigit():
        c = input("c的输入不是数字,请重新输入:")
    m = float(a) #输入的数字转换成浮点型
    n = float(b)
    q = float(c)
    t = n**2-4*m*q
    if t==0:
        x = (-n)/2*m
        print("x有一个解为:{}".format(x))
    else:
        x1 = ((-n) +cmath.sqrt(t))/2*m
        x2 = ((-n) -cmath.sqrt(t))/2*m
        print("x有两个解分别为:{},{}".format(x1,x2))
number()

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值