Python之第十一天的努力--练习

JasonYeung 2020-06-11

练习

# 2.看代码写结果
#
# def func():
#     return 1,2,3
#
# val = func()
# print( type(val) == tuple )
# print( type(val) == list )
# # True
# # False



# 3.看代码写结果
# def func(*args,**kwargs):
#     pass

# a. 请将执行函数,并实现让args的值为 (1,2,3,4)
# def func(*args,**kwargs):
#     print(args)
# func(1,2,3,4)

# b. 请将执行函数,并实现让args的值为 ([1,2,3,4],[11,22,33])
# def func(*args,**kwargs):
#     print(args)
# func([1,2,3,4],[11,22,33])

# c. 请将执行函数,并实现让args的值为 ([11,22],33) 且 kwargs的值为{‘k1‘:‘v1‘,‘k2‘:‘v2‘}
# def func(*args,**kwargs):
#     print(args)
#     print(kwargs)
# func([11,22],33,k1=‘v1‘,k2=‘v2‘)

# d. 如执行 func(*{‘武沛齐‘,‘金鑫‘,‘女神‘}),请问 args和kwargs的值分别是?
# def func(*args,**kwargs):
#     print(args)
#     print(kwargs)
# func(*{‘武沛齐‘,‘金鑫‘,‘女神‘})
# # (‘女神‘, ‘武沛齐‘, ‘金鑫‘)
# # {}

# e. 如执行 func({‘武沛齐‘,‘金鑫‘,‘女神‘},[11,22,33]),请问 args和kwargs的值分别是?
# def func(*args,**kwargs):
#     print(args)
#     print(kwargs)
# func({‘武沛齐‘,‘金鑫‘,‘女神‘},[11,22,33])
# # ({‘武沛齐‘, ‘女神‘, ‘金鑫‘}, [11, 22, 33])
# # {}

# f. 如执行 func(‘武沛齐‘,‘金鑫‘,‘女神‘,[11,22,33],**{‘k1‘:‘栈‘}),
# 请问 args和kwargs的值分别是?
# def func(*args,**kwargs):
#     print(args)
#     print(kwargs)
# func(‘武沛齐‘,‘金鑫‘,‘女神‘,[11,22,33],**{‘k1‘:‘栈‘})
# # (‘武沛齐‘, ‘金鑫‘, ‘女神‘, [11, 22, 33])
# # {‘k1‘: ‘栈‘}



# 4.看代码写结果
# def func(name,age=19,email=‘‘):
#     print(name)
#     print(age)
#     print(email)

# a. 执行 func(‘alex‘) ,判断是否可执行,如可以请问 name、age、email 的值分别是?
# func(‘alex‘)
# # alex
# # 19
# # 

# b. 执行 func(‘alex‘,20) ,判断是否可执行,如可以请问 name、age、email 的值分别是?
# func(‘alex‘,20)
# # alex
# # 20
# # 

# c. 执行 func(‘alex‘,20,30) ,判断是否可执行,如可以请问 name、age、email 的值分别是?
# func(‘alex‘,20,30)
# # alex
# # 20
# # 30

# d. 执行 func(‘alex‘,email=‘‘) ,判断是否可执行,
# 如可以请问 name、age、email 的值分别是?
# func(‘alex‘,email=‘‘)
# # alex
# # 19
# # 

# e. 执行 func(‘alex‘,email=‘‘,age=99) ,判断是否可执行,
# 如可以请问 name、age、email 的值分别是?
# func(‘alex‘,email=‘‘,age=99)
# # alex
# # 99
# # 

# f. 执行 func(name=‘alex‘,99) ,判断是否可执行,如可以请问 name、age、email 的值分别是?
# func(name=‘alex‘,99)
# # 报错

# g. 执行 func(name=‘alex‘,99,‘‘) ,判断是否可执行,
# 如可以请问 name、age、email 的值分别是?
# func(name=‘alex‘,99,‘‘)
# # 报错



# 5.看代码写结果
#
# def func(users,name):
#     users.append(name)
#     return users
#
# result = func([‘武沛齐‘,‘李杰‘],‘alex‘)
# print(result)
# # [‘武沛齐‘, ‘李杰‘, ‘alex‘]



# 6.看代码写结果
#
# def func(v1):
#     return v1* 2
#
# def bar(arg):
#     return "%s 是什么玩意?" %(arg,)
#
# val = func(‘你‘)
# data = bar(val)
# print(data)
# # 你你 是什么玩意?



# 7.看代码写结果
#
# def func(v1):
#     return v1* 2
#
# def bar(arg):
#     msg = "%s 是什么玩意?" %(arg,)
#     print(msg)
#
# val = func(‘你‘)
# data = bar(val)
# print(data)
# # 你你 是什么玩意?
# # None



# 8.看代码写结果
#
# v1 = ‘武沛齐‘
#
# def func():
#     print(v1)
#
# func()
# v1 = ‘老男人‘
# func()
# # 武沛齐
# # 老男人



# 9.看代码写结果
#
# v1 = ‘武沛齐‘
#
# def func():
#     v1 = ‘景女神‘
#     def inner():
#         print(v1)
#     v1 = ‘肖大侠‘
#     inner()
# func()
# v1 = ‘老男人‘
# func()
# # 肖大侠
# # 肖大侠



# 10.看代码写结果【可选】
#
# def func():
#     data = 2*2
#     return data
#
# new_name = func
# val = new_name()
# print(val)
# #
# # # 注意:函数类似于变量,func代指一块代码的内存地址。
# # 4



# 11.看代码写结果【可选】
#
# def func():
#     data = 2*2
#     return data
#
# data_list = [func,func,func]
# for item in data_list:
#     v = item()
#     print(v)
# #
# # # 注意:函数类似于变量,func代指一块代码的内存地址。
# # 4
# # 4
# # 4



# 12.看代码写结果(函数可以做参数进行传递)【可选】
#
# def func(arg):
#     arg()
#
# def show():
#     print(‘show函数‘)
#
# func(show)
# # show函数



# 13.写函数,接收n个数字,求这些参数数字的和。(动态传参)
# def func(*args):
#     sum = 0
#     for i in args[0]:
#         sum += int(i)
#     return sum
# num = input(‘请输入n数字(数字间用逗号隔开):‘)
#
# print(func(num.split(‘,‘)))



# 14.读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
#
# a=10
# b=20
# def test5(a,b):
#
#     print(a,b)
#
# c = test5(b,a)
# print(c)
# # 20 10
# # None



# 15.读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
# a=10
# b=20
# def test5(a,b):
#     a=3
#     b=5
#     print(a,b)
# c = test5(b,a)
# print(c)
# # 3 5
# # None



# 16.写函数,接收两个数字参数,将较小的数字返回.
# def func(a,b):
#     return a if a < b else b
# print(func(100,10))



# 17.写函数,接收一个参数(此参数类型必须是可迭代对象),
# 将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回.
# def func(s):
#     new_s = ‘‘
#     for index in range(len(s)):
#         if index == 0:
#             new_s += str(s[index])
#         else:
#             new_s += ‘_‘ + str(s[index])
#     return new_s
# s1 = input(‘请输入一个可迭代对象:‘)
# print(func(s1))
# print(func([1,‘老男孩‘,‘武sir‘]))



# 18.有如下函数:
#
# def wrapper():
#
#     def inner():
#
#         print(666)
#
# wrapper()
# 你可以任意添加代码,执行inner函数.



# 19.写出下列代码结果:
#
# def foo(a,b,*args,c,sex=None,**kwargs):
#
#     print(a,b)
#
#     print(c)
#
#     print(sex)
#
#     print(args)
#
#     print(kwargs)
#
#
#
# foo(1,2,3,4,c=6)
# # 1 2
# # 6
# # None
# # (3,4)
# # {}

# foo(1,2,sex=‘男‘,name=‘alex‘,hobby=‘old_woman‘)
# # 报错   没有c

# foo(1,2,c=18)
# # 1 2
# # 18
# # None
# # ()
# # {}

# foo(2, 3, [1, 2, 3],c=13,hobby=‘喝茶‘)
# # 2 3
# # 13
# # None
# # ([1, 2, 3])
# # {‘hobby‘:‘喝茶‘}

# foo(*[1, 2, 3, 4],**{‘name‘:‘太白‘,‘c‘:12,‘sex‘:‘女‘})
# # 1 2
# # 12
# # 女
# # (3,4)
# # {‘name‘:‘太白‘}

相关推荐

李高峰 / 0评论 2020-05-25
Junzizhiai / 0评论 2013-05-13