15 初见函数
函数是可以反复用的代码片断
大纲
什么是函数
def circle_area(r):
pi = 3.14
area = pi * r**2
return areacircle_area(1.5)7.065circle_area(2.5)19.625练习:鸡兔同笼
练习:找到质数
练习:数字判断
练习:最大公约数
Last updated
函数是可以反复用的代码片断
def circle_area(r):
pi = 3.14
area = pi * r**2
return areacircle_area(1.5)7.065circle_area(2.5)19.625Last updated
def cylinder_area(r,h):
area_a = circle_area(r)
area_b = 2*3.14*h
total_area = area_a*2 + area_b
return total_areacylinder_area(1.5,4)39.25def chicken_rabbit(n,m):
x = (4*n-m)/2
y = n-x
return x,ychicken_rabbit(25,76)(12.0, 13.0)def chicken_rabbit(n,m):
x = (4*n-m)/2
y = n-x
output = "鸡:"+str(int(x))+","+"兔:"+str(int(y))
return outputchicken_rabbit(25,76)'鸡:12,兔:13'def chicken_rabbit(n,m):
x = int((4*n-m)/2)
y = int(n-x)
output = "鸡:{x}, 兔:{y}".format(x=int(x), y=y)
return outputchicken_rabbit(25,76)'鸡:12, 兔:13'x = int(input("输入一个数字:"))
result = True
for i in range(2,x):
if x%i==0:
result = False
break
if result:
print(x,"是一个质数")
else:
print(x,"不是一个质数")输入一个数字:13
13 是一个质数def prime(x):
if x in [0,1]:
return False
for i in range(2,x):
if x%i==0:
return False
return Trueprime(1)Falseprime(32)Falsex = int(input("输入一个数字:"))
result = prime(x)
if result:
print(x,"是一个质数")
else:
print(x,"不是一个质数")输入一个数字:32
32 不是一个质数prime_list = [prime(x) for x in range(20)]prime_list[False,
False,
True,
True,
False,
True,
False,
True,
False,
False,
False,
True,
False,
True,
False,
False,
False,
True,
False,
True]def sum_f(n):
sum_x = 0
for x in range(3,n):
if x%3==0 or x%5==0:
sum_x = sum_x+x
return sum_xdef sum_f(n):
return sum([e for e in range(3, n) if e % 3 == 0 or e % 5 == 0])sum_f(30)195def common_divisor(x,y):
if x>y:
y,x = x,y
i=x
while (i>0) and ((x%i!=0) or (y%i!=0)):
i = i-1
return icommon_divisor(18,15)3