Discuss / Python / 交作业(测试成功)

交作业(测试成功)

Topic source

qq842205264

#1 Created at ... [Delete] [Delete and Lock User]

!/usr/bin/env python

encoding: utf-8

这货是解一元二次方程的

import math a=float(input('请输入一元二次方程中a的值')) b=float(input('请输入一元二次方程中b的值')) c=float(input('请输入一元二次方程中c的值')) def wc(a,b,c): if a==0:#检验二次项系数是否为0(两个==是因为一个=是赋值的意思) if b==0: if c==0: return('此方程恒成立') elif not c==0: return('此方程无解') elif not b==0: x=-c/b return('二次项系数为0,这不是二次方程,它的根是%f' % x) else:#二次项系数不为0才行 delta=bb-4ac if delta < 0: return('此方程无实数根') elif delta >= 0: x1=(-b+math.sqrt(delta))/(2a) x2=(-b-math.sqrt(delta))/(2*a) return('这个方程的根是%f和%f' % (x1,x2))

别忘了函数用return返回值,最后要打印

print(wc(a,b,c))

_潴潴俠_

#2 Created at ... [Delete] [Delete and Lock User]
import  math

def quadratic(a, b, c):
    if b * b - 4 * a * c > 0: # 该方程有2个解
        x1 = (-b+math.sqrt(b*b-4*a*c)) / (2*a)
        x2 = (-b-math.sqrt(b*b-4*a*c)) / (2*a)
        return x1,x2
    elif b * b - 4 * a * c == 0: # 只有一个解
        x = (-b + math.sqrt(b * b - 4 * a * c)) / (2 * a)
        return x
    else:
        return '此方程无解'

def check_abc(a,b,c):

    m =''
    m2 = ''
    m3 = ''

    if not isinstance(a,(int,float)):
        m = '\'%s\'不是数字' % a
    elif a==0:
        return '此方程无意义'

    if not isinstance(b,(int,float)):
        m2 = '\n\'%s\'不是数字' % b

    if not isinstance(c,(int,float)):
        m3 = '\n\'%s\'不是数字' % c

    if len(m+m2+m3)>0:
        return a,b,c,m+m2+m3
    else:
        return True

def operation_abc(a,b,c):
  if isinstance(check_abc(a,b,c),bool):
      return quadratic(a,b,c)
  else:
      return '一元二次方程:%sx^2 + %sx + %s = 0,%s'% (check_abc(a,b,c)[0],check_abc(a,b,c)[1],check_abc(a,b,c)[2],check_abc(a,b,c)[3])

a = input('一元二次方程:ax^2 + bx + c = 0,请输入 a :')
while not  a.isdigit():
    a = input('请输入数字 a :')

b = input('一元二次方程:ax^2 + bx + c = 0,请输入 b :')
while not  b.isdigit():
    b = input('请输入数字 b :')

c = input('一元二次方程:ax^2 + bx + c = 0,请输入 c :')
while not  c.isdigit():
    c = input('请输入数字 c :')

print(operation_abc(float(a),float(b),float(c)))

  • 1

Reply