[Tutor] TypeError: generatePersonID() takes exactly 1 argument (0 given)
Alex Kleider
akleider at sonic.net
Thu Nov 14 18:24:50 CET 2013
On 2013-11-14 07:54, Thabile Rampa wrote:
> Hi,
>
> So I'm learning how to define my own functions, and in an exercise I
> was given, I get this error:
>
> Traceback (most recent call last):
> File "X:/X/xxx/Xxxxx/function_practice.py", line 36, in <module>
> main ()
> File "X:/X/xxx/Xxxxx/function_practice.py/function_practice.py
> [1]", line 34, in main
> generatePersonID ()
> TypeError: generatePersonID() takes exactly 1 argument (0 given)
>
> Here is the code:
>
> def getUserInput():
> """
> Get input from the user, i.e fullname, grossSalary, costs.
> Returns: fullName, grossSalary, costs
> """
>
> grossSalary =None ;
> costs =None
> fullName=""
>
> while not fullName:
>
> fullName = raw_input ("First and Last Names: ")
>
> while not grossSalary:
> #TODO
> grossSalary = int (raw_input ("Annual Gross Salary: "))
>
> while not costs:
> #TODO
> costs = int(raw_input ("Yearly costs: "))
>
> return fullName, grossSalary, costs
>
> def generatePersonID (fullName):
> """generates unique ID"""
> global id
> id = (fullName) + 1
> personID = str (id) + fullName
> return personID
>
> def main ():
> getUserInput ()
> generatePersonID ()
>
> main ()
>
> raw_input ("Press the enter key to exit.")
You define 'generatePersonID' as a function that requires one parameter
but you do not give it a parameter when you call it with in your 'main'
function. That's exactly what your error message is trying to tell you.
More information about the Tutor
mailing list