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.

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to