实验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小时内删除。