So, you want to return a new tuple with the same length as args (i.e. len(args)), and whose values are computed from args[0], args[1], etc.
Note that you can't modify 'args' directly, e.g. you can't assign args[0] = xxx, that's illegal and will raise a TypeError: 'tuple' object does not support item assignment.
What You need to do then is return a new tuple whose length is the same as len(args).
For example, if you want your function to add one to every argument, you can do it like this:
def plus_one(*args):
return tuple(arg + 1 for arg in args)
Or in a more verbose way:
def plus_one(*args):
result = []
for arg in args: result.append(arg + 1)
return tuple(result)
Then, doing :
d, e, f = plus_one(1, 2, 3)
will return a 3-element tuple whose values are 2, 3 and 4.
The function works with any number of arguments.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…