实验8 函数(一)
实验目的:
1、理解自定义函数过程的定义和调用方法;
2、掌握自定义函数的定义和调用方法;
3、理解函数中的参数的作用;
实验内容:
1、编写一函数Fabonacci(n),其中参数n代表第n 次的迭代。
While循环
def fib(n):
if n==1 or n==2:
return 1
a=1
b=1
i=2
while True:
c=a+b
a=b
b=c
i+=1 #第i次迭代,也就是第i个数
if i==n:
return c
break
def main():
n=input("Enter a number of generation:")
print fib(n)
main()
或者用for循环
def fib(n):
a=1
b=1
c=0
if n==1 or n==2:
return 1
else:
for i in range(3,n+1):
c=a+b
a=b
b=c
return c
def main():
n=input("enter n:")
print fib(n)
main()
2、编写一函数Prime(n),对于已知正整数n,判断该数是否为素数,如果是素数,返回True,否则返回False。
def prime(n):
if n<2:
return False
a=0
for i in range(1,n+1):
if n%i==0:
a+=1
if a>2:
return False
else:
return True
def main():
n=input("Enter a number:")
print prime(n)
main()
Or:
def prime(n):
if n<2:
return False
if n==2:
return True
for i in range(2,n):
if n%i==0:
return False
return True
def main():
n=input("Enter a number:")
print prime(n)
main()
3、利用上题中判断素数的函数,编写程序出1~100之间的所有孪生素数(若两个素数之差为2,则这两个素数就是一对孪生素数)。例如:3和5、5和7、11和13等都是孪生素数。
【提示】如果n和n+2都是素数,那就是孪生素数。
def prime(n):
if n<2:
return False
if n==2:
return True
c++判断素数
for i in range(2,n):
if n%i==0:
return False
return True
def main():
for i in range(1,100):
if prime(i) and prime(i+2):
print i,i+2
main()
4、求润年Leapyear(n),输入年份,统计该年是不是润年,如果是润年,返回True;否则返回False。
def leapyear(n):
if n%4==0 and n%100!=0 or n%400==0:
return True
else:
return False
def main():
n=input("Enter the year:")
print leapyear(n)
main()
5、计算三角形面积函数,TriangleArea(a,b,c),其中a,b,c为分别为三角形三条边,面积公式为。
def TriangleArea(a,b,c):
C=0.5*(a+b+c)
area=(C*(C-a)*(C-b)*(C-c))**0.5
return area
def main():
a,b,c=input("enter three lengths:")
print TriangleArea(a,b,c)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论