注:这是自己跟着慕课嵩天老师的课程写的笔记。笔记若有错误,希望大家批评指正。
函数调用
1.程序在调用处暂停执行
2.将实参传递给形参,即完成赋值操作形参 = 实参
3.执行函数体
4.执行遇到return或者执行完所有函数体后,给出返回值,回到程序调用暂停处
Python函数返回值:return(),可返回一个值或者多个值。
无return语句 = 无返回值的return语句 = return none
可返回变量,也可返回表达式
import math
def YesOrNo(x1, y1, x2, y2, x3, y3):
#三点不在一条直线,斜率不相等,变换后
flag = (x1 - x2) * (y3 - y2) - (x3 - x2) * (y1 - y2)
return flag
#如果flag = 0,return False
#如果flag != 0,是一个非零的值,return Ture
#不懂的话看一下布尔表达式的笔记
def distance(x1, y1, x2, y2):
dist = math.sqrt(square(x1 - x2) + square(y1 - y2))
return dist
def square(x):
return x * x
#可返回表达式
def SumDiff(x1, x2):
return x1 - x2,x1 + x2
def main():
print("----例1:计算三角形周长----")
print("请输入三个坐标点:")
x1, y1 = eval(input("第一个坐标点(x, y) = "))
x2, y2 = eval(input("第二个坐标点(x, y) = "))
x3, y3 = eval(input("第三个坐标点(x, y) = "))
#判断三个点是否构成三角形
if(YesOrNo(x1, y1, x2, y2, x3, y3)):
C = distance(x1, y1, x2, y2) + distance(x2, y2, x3, y3) + distance(x1, y1, x3, y3)
print("三角形周长为:{:0.2f}".format(C))
else:
print("不是一个三角形。")
print("\n\n----例2:return返回多个值----")
z1, z2 = eval(input("输入两个数:"))
sum, diff = SumDiff(z1, z2)
print("两数和为",sum,";两数差为",diff)
main()