Python3函数习题解析

         Hello,大家好,小编最近在学习廖雪峰老师官网的Python3,想通过解答每节知识点后的练习题的的方式来检验自己的学习成果,也希望能帮助和小编一样的小白解决心中的疑惑,大家共同进步。

(1)调用函数练习题:

        请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串:

代码部分:

# -*- coding: utf-8 -*-

n1 = 255

n2 = 1000

print(str(hex(n1)))

print(str(hex(n2)))     #hex()将整数转换为十六进制数,str()将十六进制数转换为对应的字符串。

(2)定义函数练习题:

        请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:

ax2+ bx + c = 0的两个解。

提示:计算平方根可以调用math.sqrt()函数:

代码部分:

# -*- coding: utf-8 -*-

import math

def quadratic(a, b, c):

    x = (-b+math.sqrt(b*b-4*a*c))/2/a

    y = (-b-math.sqrt(b*b-4*a*c))/2/a

    return (x,y)

注意:解决该题的关键就是要了解一元二次方程有两个根的条件,即△=b²-4ac>0,则根为


(3)函数的参数练习题:

    以下函数允许计算两个数的乘积,请稍加改造,变成可接收一个或多个数并计算乘积:

代码部分:

def product(x, *args):

    sum =1

    for num in args:

        sum = sum*num

    return x*sum

*args是可变参数,args接收的是一个tuple;

(4)递归函数练习题:

        汉诺塔的移动可以用递归函数非常简单地实现。请编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法

汉诺塔的原理解析: 

当n=1时 ,直接:A—>C,只需一步。

当n=2时,我们可以先把小盘子从A—>B ,然后把大盘子从A—>C, 最后再把小盘子从B–>C, 一共需要三步。

当n=3时,我们可以先把上面的两个盘子按照n=2的做法先移动到B,上面已经分析出来需要三步,(其实也是把n个盘子从一个地方移到另一个地方的一种实现,只不过这里n=2,C变为B了而已) ,然后把最下面的大盘子从A–>C,最后再把上面的两个盘子从B–>C 也是需要三步,总共需要七步。 

代码部分:

# -*- coding: utf-8 -*-

def move(n, a, b, c):

if n == 1:

        print(a, '-->', c)

else:

      move(n-1,a,c,b)   #将A中的n-1个盘子借助C移动到B上

      move(1,a,b,c)    #将A中最后一个盘子直接移动到C上

      move(n-1,b,a,c)   #将B中的n-1个盘子借助A移动到C上

注意:递归其实就是找到规律,然后不断调用方法本身的过程。

      综上这就是在廖雪峰老师的官网Python3中的函数练习题了。大家有什么不懂得地方欢迎留言,如果小编哪里写错了或者您有更好的解决方案,请联系小编吧!小编期望与您共同进步。

     

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,885评论 0 2
  • 生命中影响着我的人很多很多,但父亲对我的影响却是刻入骨髓的,坚强不屈,大爱,心里都装着我们三,我们三虽然不是特别成...
    银菠萝蜜阅读 164评论 0 0
  • 最简单的炒饭+山药+芦笋+木瓜 在欢快的音乐声中享受美味的早餐 具体做法在日志中可以查看
    济南团团妈阅读 294评论 0 0
  • 这个标题是昨天定的,今天早上继续写下去。 随着时代的变化,我们越来越多人正在抛弃用纸和笔写日记和写文章的习惯。当然...
    大大的旦阅读 328评论 1 1
  • 【微习惯】读后感 没有购买这本书,在网上和看老铁们分享了这本书。斯蒂芬·盖斯 引: 从2012年末开始,斯蒂芬·盖...
    炫米阅读 162评论 0 0

友情链接更多精彩内容