实验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

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)

main()

6、 思考题.豆堆

堆里有16颗豆子,有两个玩家(假设一个玩家是电脑)。每个玩家都可以从堆中的16颗豆子中取出1颗,2颗或者3颗豆子。每个玩家在每回合中必须从堆中取出一定数目的豆子。玩家轮流取出豆子,取到最后一颗豆子的玩家是输家。

思路:

写一个人取豆子的函数

帮电脑设计一个算法,实现取豆子的函数

在主程序中进行输流调用,谁最后拿到1粒豆子谁就输

import random

def pp(n):

while True:

num=input("Pick some beans, only 1,2 or 3:")

if num<1 or num>3:

print "Wrong, try again."

continue

return n-num

def cp(n):

if n==4:

return 3

if n==3:

return 2

if n==2:

return 1

else:

i=random.randint(1,3)

return i

def main():

total=16

while True:

ppickrest=pp(total)

cpick=cp(ppickrest)

total=ppickrest-cpick

if ppickrest==1:

print "people win"

break

print "comp=%d, rest=%d"%(cpick,total)

if total==1:

print "computer win"

break

main()

【此文档部分内容来源于网络,如有侵权请告知删除,本文档可自行编辑和修改内容,感谢您的支持!】

可编辑word,供参考版!

展开阅读全文

python编写自定义函数print_triangle(n)_Python 实验8 函数(1).doc相关推荐

  1. python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value)

    python编写自定义函数计算一维numpy数组中与指定目标数值最接近(距离最近)的数值(find closest value in numpy array to a certain value) 目 ...

  2. python编写自定义函数计算约登值(约登指数、Youden Index)、寻找最佳阈值(threshold、cutoff)、可视化ROC曲线并在曲线中标记最佳阈值及其数值标签

    python编写自定义函数计算约登值(约登指数.Youden Index).寻找最佳阈值(threshold.cutoff).可视化ROC曲线并在曲线中标记最佳阈值及其数值标签 目录

  3. python中reduce函数的运用_python 中 reduce 函数的使用

    reduce()函数也是Python内置的一个高阶函数. reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接 ...

  4. python主函数的作用_python中main函数的用法

    原博文 2020-03-27 20:25 − **什么场景下会有main函数?** 当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行. **ma ...

  5. python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...

    [其它]实验4-串和数组-实验任务书.docx [填空题]表达式 'abc' in ['abcdefg'] 的值为______________. [填空题]已知 x = range(1,4) 和 y ...

  6. python中字符串格式化的形式_Python中format函数字符串格式化入门

    格式化在程序开发中非常常见,大家肯定不陌生,Python中也存在多重格式化方式,format函数就是其中一种. 函数原型format(value[, format_spec]) 参数意义 value: ...

  7. python函数实例解析_python支持返回函数的实例解析

    这篇文章主要介绍了python支持返回函数的实例解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 最近接触python,看到了python中返回函数的概念,以前只接触过 ...

  8. python average函数详解_python基础之函数详解

    Python基础之函数详解 一.函数的定义 到现在为止,我们已经掌握了Python的基本语法和数据类型等相关基础知识了,以进行一个项目的编写了,这个时候,就会发现,很多代码需要我们进行复制粘贴,这简直 ...

  9. python在匿名函数作和_python内置函数和匿名函数

    楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们继续谈下一话题... 来你们在自己的环境里打印 ...

最新文章

  1. 比特现金网络升级之争:1个CPU=1票
  2. 慕课python第四周测试卷_中国大学慕课用Python玩转数据期末考试查题公众号答案...
  3. 基于 flyweight 的格式化文本处理的 Boost.Flyweight 示例
  4. 专家:我国青少年网络安全立法还需完善
  5. JS进行性能测试(计时)
  6. 轻轻松松看懂Spring AOP源码
  7. 草稿 断开绑dgv1
  8. weblogic服务器连接池配置细节
  9. springBoot项目首页居然还有这么多种玩儿法,index.html并不是必须的
  10. zznuoj 2174: 水题一发 希望笑纳
  11. Win10x64-WDM设备驱动开发入门 - 第六章 VMware-Win10x64+WDK10+VS2015/2019环境搭建与双机调试
  12. Tortoiser三十集脱壳教程__ZC
  13. 如何理解冲突域和广播域?(转)
  14. 怎么用PDF裁剪工具来裁剪PDF页面
  15. Android 拼音搜索中文,包含多音字
  16. 【软著】自己申请软件著作权流程
  17. Oracle错误处理机制
  18. NetDxf读取DXF文件
  19. 仿微信.QQ聊天界面
  20. Bootstrap3 下拉菜单(Dropdown)

热门文章

  1. C# (1)点击菜单跳出新窗体,(2)在主窗体中切换子窗体(pannel控件的使用)
  2. 4月2日云栖精选夜读 | 对话行癫:解密阿里云顶层设计和底层逻辑
  3. Indel (Insertion and Deletion)分析简介
  4. python读取lst文件
  5. Spamhaus -影响最大的RBL(实时黑名单列表)服务提供商,非营利性组织
  6. Python 集合 — set
  7. 空气净化器对比测试PM2.5去除效果显著
  8. 领带的10种打法图解
  9. 2019 高教社杯数模竞赛A题 高压油管的压力控制 题解
  10. java导出word文档(office,wps均可)