电脑编程之实现函数调用

python实现函数的调用,函数名用自己姓名的拼音,要求从键盘输入三角形的三边,通过调用函数求三角形的面积。
最近学了for in range和自定义函数
但是这个貌似不会

ChatGPT尝试为您解答,仅供参考
下面是一个示例代码,它实现了从键盘输入三角形的三边,通过调用函数求三角形的面积的功能。


首先,我们定义了一个名为"tian_jia_ming"的函数,它接受三角形的三边a、b、c作为参数。函数内部首先检查输入的三边是否能构成三角形(即任意两边之和大于第三边),如果能构成三角形就计算面积,否则输出"输入的三边不能构成三角形"。计算面积的方法是使用海伦公式,这个公式可以用于求三角形的面积,即S=sqrt(p(p-a)(p-b)(p-c)),其中p=(a+b+c)/2,a、b、c是三角形的三边。


然后,我们使用input函数从键盘输入三角形的三边,并将这些边的值转换为整数类型。最后,我们调用函数"tian_jia_ming",并传入三角形的三边作为参数,输出函数的返回值。

import math

# 定义函数tian_jia_ming,接受三角形的三边a、b、c作为参数
def tian_jia_ming(a, b, c):
    # 检查输入的三边是否能构成三角形
    if a + b > c and a + c > b and b + c > a:
        # 计算p的值
        p = (a + b + c) / 2
        # 计算面积
        s = math.sqrt(p * (p - a) * (p - b) * (p - c))
        # 返回面积的值
        return s
    else:
        # 输入的三边不能构成三角形
        return "输入的三边不能构成三角形"

# 从键盘输入三角形的三边
a = int(input("请输入三角形的第一条边的长度:"))
b = int(input("请输入三角形的第二条边的长度:"))
c = int(input("请输入三角形的第三条边的长度:"))

# 调用函数tian_jia_ming,并传入三角形的三边作为参数
s = tian_jia_ming(a, b, c)

# 输出函数的返回值
print(s)

在上面的代码中,我们定义了一个名为"tian_jia_ming"的函数,并使用了for in range和自定义函数的知识来实现函数的调用。最后,我们调用函数,并传入三角形的三边作为参数,输出函数的返回值。

python通过键盘获取输入。可以用val = input('提示语')。比如获取三角形的边长,可以用

a = float(input('请输入三角形的第1条边:'))

运行时会显示提示语,“请输入三角形的第1条边:”,输入边长后回车,键盘输入的边长数据就会记录在a中。

计算三角形面积,可以参考如下代码。

def cal_triangle_area():
    abc = [-1,-1,-1] # 赋初值
    
    # 循环获取键盘输入的三角形边长
    for i in range(3):
        abc[i] = float(input(f'请输入三角形的第{i+1}条边: '))
        while abc[i]<=0:
            print('三角形边长要大于0。请重新输入')
            abc[i] = float(input(f'请输入三角形的第{i+1}条边: '))
    
    a,b,c = abc
    while ((a+b)<=c or (a+c)<=b or (b+c)<=a):
        print('输入的边长无法构成三角形。请重新输入')
        for i in range(3):
            abc[i] = float(input(f'请输入三角形的第{i+1}条边: '))
            while abc[i]<=0:
                print('三角形边长要大于0。请重新输入')
                abc[i] = float(input(f'请输入三角形的第{i+1}条边: '))     
        a,b,c = abc # 更新边长值
        
    # 海伦公式计算面积              
    p = (a+b+c)/2.0
    S = (p*(p-a)*(p-b)*(p-c))**0.5
    print(f'输入的三角形边长是{a}, {b}, {c}, 面积为: {S:.1f}')
    return S