python练习 函数4

'''
1.定义一个func(name),该函数效果如下。
assert func("lilei") = "Lilei"
assert func("hanmeimei") = "Hanmeimei"
assert func("Hanmeimei") = "Hanmeimei"
'''

def func(name):
    return  capitalize(name)


assert func("lilei") = "Lilei"
assert func("hanmeimei") = "Hanmeimei"
assert func("Hanmeimei") = "Hanmeimei"

"""
2.定义一个func(name,callback=None),效果如下。
assert func("lilei") == "Lilei"
assert func("LILEI",callback=str.lower) == "lilei"
assert func("lilei",callback=str.upper) == "LILEI"

"""

def func(name, callback=None):
    if callback:
        return callback(name)
    else:
        return name.capitalize()


assert func("lilei") == "Lilei"
assert func("LILEI",callback=str.lower) == "lilei"
assert func("lilei",callback=str.upper) == "LILEI"

"""
3.定义一个func(*kargs),效果如下。

l = func(1,2,3,4,5)
for i in l:
print i,

输出 1 2 3 4 5

l = func(5,3,4,5,6)
for i in l:
print i

输出 5 3 4 5 6

"""

def func(*kargs):
    return kargs


l = func(1, 2, 3, 4, 5)

for i in l:
    print(i, end=" ")

"""
4.定义一个func(*kargs),该函数效果如下。

assert func(222,1111,'xixi','hahahah') == "xixi"
assert func(7,'name','dasere') == 'name'
assert func(1,2,3,4) == None

"""

def func(*kargs):
    for x in kargs:
        if isinstance(x, str):
            return x


assert func(222, 1111, 'xixi', 'hahahah') == "xixi"
assert func(7, 'name', 'dasere') == 'name'
assert func(1, 2, 3, 4) is None

"""
5.定义一个func(name=None,**kargs),该函数效果如下。

assert func("lilei") == "lilei"
assert func("lilei",years=4) == "lilei,years:4"
assert func("lilei",years=10,body_weight=20) == "lilei,years:4,body_weight:20"

"""

def func(name=None, **kargs):
    new_list = ["%s:%s" %(k,v) for k, v in kargs.items()]
    new_list.insert(0, name)
    return ','.join(new_list)


assert func("lilei") == "lilei"
assert func("lilei",years=4) == "lilei,years:4"
assert func("lilei",years=4,body_weight=20) == "lilei,years:4,body_weight:20"

猜你喜欢

转载自www.cnblogs.com/hehecat/p/9256199.html