1、编程求组合程序调用函数comb();comb()在执行过程中又调用了函数fac()。fac()的调用被嵌套在函数comb()的调用中。

n = eval(input("Input n: "))
m = eval(input("Input m: "))
def fac(k) :i = f = 1while i<=k :f = f*ii = i+1return f
def comb(n, m) :c = fac(m)//(fac(n)*fac(m-n))return c
print(comb(n, m))

2、请改正下面程序中存在的错误?

def Sum(a,b,c):

print(a+b+c)

t=(1,2,3)

                Sum(**t)      改为:Sum(*t)

3、请定义一个函数q(a, b, c),接收3个参数,可以使用全局变量__name__,进行测试,返回一元二次方程:ax2 + bx + c = 0的两个解。提示:计算平方根可以调用math.sqrt()函数。

import math
def q(a, b, c):if a == 0:print('函数无解。')else:dert = b * b - 4 * a * cx1 = (- b + math.sqrt ( dert )) / ( 2 * a )x2 = (- b - math.sqrt ( dert )) / ( 2 * a )return x1,x2
if __name__ == '__main__':print ( 'q(2, 3, 1) =' , q ( 2 , 3 , 1 ) )print ( 'q(1, 3, -4) =' , q ( 1 , 3 , -4 ) )if q ( 2 , 3 , 1 ) != (-0.5 , -1.0):print ( '测试失败' )elif q ( 1 , 3 , -4 ) != (1.0 , -4.0):print ( '测试失败' )else:print ( '测试成功' )

4、编写程序解决汉诺塔问题:有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置n个盘子(编号从n至1,即最下面盘子编号为n,最上面盘子编号为1)。目标:把A杆上的盘子全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。提示:编写递归函数解决该问题。

我们可以理解move(n,a,b,c)函数中对应的a表示起始位置,b表示中间位置,c表示最终要移到的位置,可以分为下面3个部分理解:

1.将n-1个盘子从a移到b

2.将最后1个盘子从a移到c

3.将n-1个盘子从b移到c

def move (n,a,b,c):if n ==1:print('move',a,'-->',c)else:move(n-1,a,c,b) #把上面n-1个从a-->bmove(1,a,b,c) #把最下面一个从a-->cmove(n-1,b,a,c) #把上面n-1个从b-->c
n=float(input('请输入n='))
print('结果如下所示:')
print(move(n,'A','B','C'))

第二种:

step=0
def move(n,a,b,c):global stepif n==1:  #这个地方就是递归函数调用终止的条件print(a,'-->',c)step=step+1else:move(n-1,a,c,b)  #把上面n-1个从a-->bmove(1,a,b,c)    #把最下面一个从a-->cmove(n-1,b,a,c)  #把上面n-1个从b-->cdef main():n=eval(input("please input the numbers of the plates:"))move(n,'A','B','C')  #这里的A B C 表示圆柱print("the total steps to move the plates from a to c is {}".format(step))
main()

Python语言程序设计——实验五相关推荐

  1. c语言实验五函数答案,C语言程序设计实验五 参考答案.doc

    C语言程序设计实验五 参考答案 实验5 函数(1)参考答案 5-1.以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上.调试运行程序,观察出现了什么错误,提出修改方案. 答案: # ...

  2. 2022中国大学python语言程序设计测试五答案(北理工嵩天 、黄天羽 、礼欣)

    本文章为大家准备2022中国大学python语言程序设计答案,与教学同步,但是还是希望同学们自己可以自己写. 测试一:http://t.csdn.cn/W7fWE 测试二:2022中国大学python ...

  3. python语言程序设计实验题_“Python语言程序设计”问卷调查

    1. 您的性别是: A 男B女2. 您的专业是: 18金融1 18金融2 18统计1 18统计2 18工力 18建筑1 18建筑2 18土木1 18土木2 18土木3 18土木4 18土木5 18土木 ...

  4. python语言程序设计实验题_《Python语言程序设计》测验题目

    Python语言程序设计测验题目 在MOOC网学习Python语言程序设计 课程,课程会有考试,这里把每次考试的经历记录下来,作为学习Python笔记的一部分,后边的考试会持续更新-- Python语 ...

  5. python语言程序设计实验教程答案实验三_20182204 实验三《Python程序设计》实验报告...

    20182204 <Python程序设计>实验三报告 课程:<Python程序设计> 班级:1822 姓名:20182204zwp 学号:20182204 实验教师:王志强老师 ...

  6. c语言程序设计 实验五数组6,实验五 数组——一维数组.doc

    实验五 数组--一维数组 淮海工学院计算机科学系实验报告书 课程名:< C语言程序设计教程> 题 目: 实验五 数组--一维数组 班 级: 学 号: 姓 名: 评语: 成绩: 指导教师: ...

  7. c语言程序设计 实验五数组6,c语言实验五数组程序设计解答.doc

    c语言实验五数组程序设计解答.doc 实验五数组应用(二)一.实验目的1(掌握二维数组的定义和初始化.2(掌握二维数组元素的引用及其应用.3(掌握字符数组的定义和初始化.4(掌握字符数组元素的引用及其 ...

  8. c语言程序设计实验五,C语言 实验五 最简单的C语言程序设计

    实验5:最简单的C语言程序设计 一. 实验目的: (1)掌握C语言中使用最多的一种语句--赋值语句的使用方法. (2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符. (3)进一步掌握编写 ...

  9. Python语言程序设计实验报告

    第二章:Python变量与数据类型 一.实验目的: 1.了解Python变量的概念与相关含义: 2.学习Python中的数据类型: 二.实验环境: 1.笔记本电脑 2.PyCharm Communit ...

  10. python语言程序设计实验报告关于分支结构_分支程序设计实验报告|分支结构程序设计...

    . . . . . 实验二 分支程序设计 一.实验目的: 1.学习分支程序的设计方法 2.熟悉在PC机上建立.汇编.连接.调试和运行汇编语言程序的过程 二.实验环境: 硬件环境 IBM/PC 及其兼容 ...

最新文章

  1. Linux学习第三章
  2. 学以致用一:得到数组的最后一个元素。
  3. MySQL5.7.12新密码登录方式及密码策略
  4. 搭建好看的静态博客(使用Hexo进行搭建)
  5. Ajax-个人学习记录(2)
  6. 群组密钥交换的新方法研究与分析【会议】
  7. Bootstrap初步
  8. 单片机ADC采样算法----限幅消抖滤波法
  9. HDU2034 人见人爱A-B【水题】
  10. 2019最新资料!共7T
  11. 电容元器件外观视觉检测系统方案设计-东莞康耐德
  12. AutoCAD全面卸载的方法
  13. python自动办公pdf_python自动化办公之 Python 解析 PDF
  14. bugku之密码ok解题思路
  15. grub引导项修复详解_win7开机grub引导修复教程
  16. 国外html游戏发展历史,网页游戏技术发展史 早期到当前10几年历程
  17. Fragment already added 错误
  18. 服务器系统如何截图,电脑截图的快捷键是什么,小编告诉你电脑怎么截图
  19. 花卉商城APP开发详细方案
  20. Windows7+CentOS双系统同一硬盘

热门文章

  1. Python 中文数字对照表 输入一个数字,转换成中文数字。比如:1234567890 -> 壹贰叁肆伍陆柒捌玖零。【简单易懂,代码可以直接运行】
  2. PHP方法,传入的参数前带三个点是什么意思?
  3. H3C S5820V2 MSR36-20
  4. Typora中写论文怎么添加reference(参考文献)
  5. 【古代文学论文】酒文化传播中唐代文学的作用分析(节选)
  6. 《Android开发艺术探索》超详细笔记【转载】
  7. 【Error】pwntools 解决安装terminator后 unable to find a shell
  8. 软件项目管理EAC、ETC的计算
  9. 梁宁——服务设计蓝图核心要素——峰值和终值(阅读总结)
  10. python 爬取学信网登录页面