Python 13

作者: Jack_Hsin | 来源:发表于2017-12-28 13:55 被阅读0次

    一. 课上代码

    >>> def MyFirstFunction():
        print("This is my first function")
    
        
    >>> MyFirstFunction()
    This is my first function
    >>> def MySecondFunction(name):
        print(name + ' I love you')
    
        
    >>> MySecondFunction('Jack')
    Jack I love you
    >>> def add(num1, num2):
        result = num1 + num2
        print(result)
    
        
    >>> add(1, 2)
    3
    >>> def add(num1, num2):
        return (num1 + num2)
    
    >>> print(add(5, 6))
    11
    >>> 
    

    二. 测试题

    1. 请问这个函数有多少个参数?
    def MyFun((x, y), (a, b)):
        return x * y - a * b
    

    如果回答是两个或者四个,那是不对的,因为类似于这样的写法是错误的。因为函数的参数需要的是变量,而这里使用元组的形式来传递是不行的,具体应该这样写:

    >>> def MyFun(x, y):
        return x[0] * x[1] - y[0] * y[1]
    
    >>> MyFun((3, 4), (1, 2))
    10
    

    三. 动动手

    1. 编写一个函数,利用欧几里得算法求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数
    #此处很巧妙,需要反复思考
    def gcd(x, y):
        while y:
            t = x % y
            x = y
            y = t
        return x
        
    print(gcd(4, 6))
    
    1. 编写一个将十进制转换为二进制的函数,要求采用除2取余的方式,结果与调用bin()一样返回字符串形式
    def Dec2Bin(dec):
        temp = []
        result = ''
        
        while dec:
            quo = dec % 2
            dec = dec // 2
            temp.append(quo)
            
        while temp:
            result += str(temp.pop())
            
        return result
        
    print(Dec2Bin(62))
    

    相关文章

      网友评论

        本文标题:Python 13

        本文链接:https://www.haomeiwen.com/subject/cemmgxtx.html