Python-实验8--函数(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验8函数(一)实验目的:1、理解自定义函数过程的定义和调用方法;2、掌握自定义函数的定义和调用方法;3、理解函数中的参数的作用;实验内容:1、编写一函数Fabonacci(n),其中参数n代表第n次的迭代。While循环deffib(n):ifn==1orn==2:return1a=1b=1i=2whileTrue:c=a+ba=bb=ci+=1#第i次迭代,也就是第i个数ifi==n:returncbreakdefmain():n=input(Enteranumberofgeneration:)printfib(n)main()或者用for循环deffib(n):a=1b=1c=0ifn==1orn==2:return1else:foriinrange(3,n+1):c=a+ba=bb=creturncdefmain():n=input(entern:)printfib(n)main()2、编写一函数Prime(n),对于已知正整数n,判断该数是否为素数,如果是素数,返回True,否则返回False。defprime(n):ifn2:returnFalsea=0foriinrange(1,n+1):ifn%i==0:a+=1ifa2:returnFalseelse:returnTruedefmain():n=input(Enteranumber:)printprime(n)main()Or:defprime(n):ifn2:returnFalseifn==2:returnTrueforiinrange(2,n):ifn%i==0:returnFalsereturnTruedefmain():n=input(Enteranumber:)printprime(n)main()3、利用上题中判断素数的函数,编写程序找出1~100之间的所有孪生素数(若两个素数之差为2,则这两个素数就是一对孪生素数)。例如:3和5、5和7、11和13等都是孪生素数。【提示】如果n和n+2都是素数,那就是孪生素数。defprime(n):ifn2:returnFalseifn==2:returnTrueforiinrange(2,n):ifn%i==0:returnFalsereturnTruedefmain():foriinrange(1,100):ifprime(i)andprime(i+2):printi,i+2main()4、求润年Leapyear(n),输入年份,统计该年是不是润年,如果是润年,返回True;否则返回False。defleapyear(n):ifn%4==0andn%100!=0orn%400==0:returnTrueelse:returnFalsedefmain():n=input(Entertheyear:)printleapyear(n)main()5、计算三角形面积函数,TriangleArea(a,b,c),其中a,b,c为分别为三角形三条边,面积公式为)(21))()((zyxczcycxccarea。defTriangleArea(a,b,c):C=0.5*(a+b+c)area=(C*(C-a)*(C-b)*(C-c))**0.5returnareadefmain():a,b,c=input(enterthreelengths:)printTriangleArea(a,b,c)main()6、思考题.豆堆堆里有16颗豆子,有两个玩家(假设一个玩家是电脑)。每个玩家都可以从堆中的16颗豆子中取出1颗,2颗或者3颗豆子。每个玩家在每回合中必须从堆中取出一定数目的豆子。玩家轮流取出豆子,取到最后一颗豆子的玩家是输家。思路:写一个人取豆子的函数帮电脑设计一个算法,实现取豆子的函数在主程序中进行输流调用,谁最后拿到1粒豆子谁就输importrandomdefpp(n):whileTrue:num=input(Picksomebeans,only1,2or3:)ifnum1ornum3:printWrong,tryagain.continuereturnn-numdefcp(n):ifn==4:return3ifn==3:return2ifn==2:return1else:i=random.randint(1,3)returnidefmain():total=16whileTrue:ppickrest=pp(total)cpick=cp(ppickrest)total=ppickrest-cpickifppickrest==1:printpeoplewinbreakprintcomp=%d,rest=%d%(cpick,total)iftotal==1:printcomputerwinbreakmain()

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功