关于有关python的问题!

要求使用函数计算面积周长
这是运行截图

img


我写了一些,但是运行不出来,想问一下应该怎么弄比较合适

img

import math
def isT(a,b,c):
    if a>b+c or b>a+c or c>a+b:
        return False
    return True
def tP(a=6.0,b=6.0,c=6.0):
    return a+b+c

def tS(a=6.0,b=6.0,c=6.0):
    p=(a+b+c)/2
    return math.sqrt(p*(p-a)*(p-b)*(p-c))

aIn=input("默认情况:边长为6的等边三角形\n是否选择默认情况? (Y或y/N或n):")
if  aIn=="Y" or aIn=="y":
    print("面积={:.2f}\n周长={:.2f}".format(tS(),tP()))
elif aIn=="N" or aIn=="n":
    aIn=input("请输入三角形的三个边长(逗号分隔):")
    aArr = aIn.split(',')
    aNumArr=[float(aArr[0]),float(aArr[1]),float(aArr[2])]
    if isT(aNumArr[0], aNumArr[1], aNumArr[2]):
        print("面积={:.2f}\n周长={:.2f}".format(tS(aNumArr[0], aNumArr[1], aNumArr[2]),tP(aNumArr[0], aNumArr[1], aNumArr[2])))
    else:
        print("无法构成三角形!")
else :
    print("你的选择有误")


from math import *
print("666")
m = input("Y/n")

def f(x,y,z):
    if x+y>z and y+z>x and x+z>y:
        c = (x+y+z)/2
        s = sqrt(c*(c-x)*(c-y)*(c-z))
        return [2*c,s]
    else:
        print("wrong")
if m.lower() == "y":
    print(15.59)
    print(18)
elif m.lower() == "n":
    a = input("length").split(",")
    a = list(map(lambda x:eval(x),a))
    b = f(a[0],a[1],a[2])
    print(b[0],b[1])
else:
    print("wrong")

代码顺序有问题,你可以把a, b,c = eval().. print(f(a,b,c))
这两行和def f(x, y, z)整个函数换个位置
你可以把代码复制出来