续阶段学习完Python3小白内容后。对之前学习到的计算方法结合数字运用实际加以汇总,共学习小白共享与交流。

二次方程

说到方程便容易想到鸡兔同笼,众多穿越剧里边都可以看到的桥段。Python中是正经的运用了二次方程。示例:

# Filename : test.py
# author by : www.runoob.com
 
# 二次方程式 ax**2 + bx + c = 0
# a、b、c 用户提供,为实数,a ≠ 0
 
# 导入 cmath(复杂数学运算) 模块
import cmath
 
a = float(input('输入 a: '))
b = float(input('输入 b: '))
c = float(input('输入 c: '))
 
# 计算
d = (b**2) - (4*a*c)
 
# 两种求解方式
sol1 = (-b-cmath.sqrt(d))/(2*a)
sol2 = (-b+cmath.sqrt(d))/(2*a)
 
print('结果为 {0} 和 {1}'.format(sol1,sol2))

见网友学习到的一个比较完整的一元二次方程判断,实数根,复数根,提醒用户输入数字类数据。示例:

unicodedata.numeric(s)
        return True
    except (TypeError, ValueError):
        pass
    return False

def panduan(xx):
    if is_number(xx)==True:
        return xx
    else:
        while is_number(xx)==False:
            print('不是数字,请再次输入')
            cc =input("请输入第一个数:")
            if is_number(cc)==True:
                break
        return ccprint('此程序用于计算一元二次方程解,请依次输入三个数')

zz=input("是否要开始计算:yes/no——:")
while zz =='yes':
    a=float(panduan(input("请输入第一个数:")))
    b=float(panduan(input("请输入第二个数:")))
    c=float(panduan(input("请输入第三个数:")))
    mx(a,b,c)
    zz = input("是否还要继续计算:yes/no——:")
print('感谢使用。' ,end="")

计算三角形的面积

求得三角形的面积,假设先判断是否构成三角形或合法,然后再跟进输入的三边数值计算面积。示例:

import math
     # 可以不导入模块,像例子那样写 x**0.5
while True:
    print("请先输入三角形的三边长a,b,c")
    try:
        # 输入字符串会非法,提示重新输入
        a = float(input("请输入边长a:"))
        b = float(input("请输入变成b:"))
        c = float(input("请输入边长c:"))
    except ValueError:
        print("您输入的不是一个数字无法计算三角形面积,请重新输入正确的数字")
    else:
        # 判断三边的边长能否构成一个三角形
        if a+b > c and a+c > b and b+c > a:
            p = (a + b + c)/2
            s = math.sqrt(p*(p-a)*(p-b)*(p-c))
            print("三角形的面积为:{0:.3f}".format(s))
        else:
            print("输入的三边构不成三角形")

也可以这样:

import math
judge = True
while judge:
    a,b,c = sorted(eval(input('请输入三边长【以逗号隔开】:'))) # 给三边排序,避免后面的分类    
    if a > 0 and b > 0 and c > 0:
        if c < b + a: # 因为sorted的结果是 a>b>c,所以只需一个判断就可
            p = (a + b + c)/2
            S = math.sqrt(p*(p - a)*(p - b)*(p - c))
            print('三角形的面积是:%.3f'%S)
            judge = False
        else:
            print('三边不能构成三角形,请重新输入三个正数,用逗号隔开')
            print() # 上下两次循环隔开,没那么密集,下同
    else: # 可以排除其他误输入类型
        print('输入有误,请输入三个正数,用逗号隔开。') 
        print() 
        continue