I got my function to work! It takes arguments and adds them: def adder(**args): argsList = args.values() sum = argsList[0] for x in argsList[1:]: sum = sum + x return sum
print adder() print "---" print adder(a=5) print "---" print adder(a=5,b=6) print "---" print adder(a=5,b=6,c=7) print "---" print adder(ugly=7, good=6, bad=5) print "---" However, if I run the above code. I get an error: Traceback (most recent call last): File "C:\Documents and Settings\Christopher Spears\My Documents\programming\PythonScripts\Part4\Ex04\adder.py", line 8, in -toplevel- print adder() File "C:\Documents and Settings\Christopher Spears\My Documents\programming\PythonScripts\Part4\Ex04\adder.py", line 3, in adder sum = argsList[0] IndexError: list index out of range This is caused by the line: print adder(). Obviously if adder() doesn't receive any arguments, it can't build the lists resulting in an IndexError. What is the best way to solve this? Should I write some syntax into the function to check for arguments? Should I just write a seperate function to check for arguments? _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor