编写一个函数,接收任意个参数,并将参数按照倒序在同一行输出,每个参数之间用空格分隔开。
使用reversed()函数来得到可变参数的反向迭代器,然后逐个打印每个参数应该就可以了。
代码如下:
参考链接:
# https://blog.csdn.net/CherDW/article/details/102913198
# 在参数前加一个星号,参数就变成了可变参数,可以传入任意个参数了
def func(*parms):
# https://zhuanlan.zhihu.com/p/604432109
# 使用reversed函数 得到可变参数的反向迭代器
# 然后逐个打印每个参数就可以了。
for parm in reversed(parms):
print(parm,end=" ")
# 测试func()函数
func(1,2)
print()
func(1,2,3)
print()
func("one","two","three","four","five")
data = input( "输入任意个参数,参数之间用空格隔开:")
data_list = data.split() # 用空格为间隔符,将输入转化为list
print(" ".join(list(reversed(data_list)))) # 将数组倒置,然后用空格进行拼接
>>>def demo(a,b,c=1): # c是默认值参数
print(a,b,c)
>>>demo(1,2)
out:1,2,1
>>>demo(1,2,3)
out:1,2,3
####多次调用函数并且不为默认值参数传递值时,默认值参数只在定义时进行一次解释和初始化,对于列表、字典这样可变类型的默认值参数,这一点可能会导致很严重的逻辑错误。
>>>def demo(newitem, old_list=[]):
old_list.append(newitem)
print(old_list)
>>>demo('5', [1, 2, 3, 4])
out:[1,2,3,4,'5']
>>>demo('aaa', ['a', 'b'])
out:['a','b','aaa']
>>>demo('a')
out:['a']
>>>demo('b')
out['a','b']
def reverse_print(*args):
# *args 表示可变参数,接受任意个参数
# 将参数变为列表,并反序输出
args_list = list(args)[::-1]
# 使用join函数将列表转化为字符串,用空格分隔开
result = ' '.join(str(i) for i in args_list)
# 输出字符串
print(result)
这样就可以实现接收任意个参数并将它们倒序输出的函数。