python学习之路

Python 13

2017-12-28  本文已影响0人  Jack_Hsin

一. 课上代码

>>> 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))
上一篇 下一篇

猜你喜欢

热点阅读