Roelof Wobben wrote:
Date: Fri, 27 Aug 2010 14:27:34 -0400
From: da...@ieee.org
To: rwob...@hotmail.com
CC: alan.ga...@btinternet.com; tutor@python.org
Subject: Re: [Tutor] exercise problem

<snip>
The other problem is you're confusing the variables inside the function with the ones declared outside. While you're learning, you should use different names for the two sets of variables. So create a new variable inside the function, called something like result. Give it an initial value, a list of the desired size. Then assign to one of its elements each time through the loop. And don't forget to change the return statement to return that variable instead of the confused-named one.

DaveA



Hello, I put in right after getal1 = I have tried another solution nl.
Put every outcome in a string.

Then convert the string into a list like this :

def add_vectors(u, v):
    """
      >>> add_vectors([1, 0], [1, 1])
      [2, 1]
      >>> add_vectors([1, 2], [1, 4])
      [2, 6]
      >>> add_vectors([1, 2, 1], [1, 4, 3])
      [2, 6, 4]
      >>> add_vectors([11, 0, -4, 5], [2, -4, 17, 0])
      [13, -4, 13, 5]
    """
    teller=0
    getal1=0
    uitkomst=""
    while teller < len(u):
        getal1 = u[teller] + v[teller]
uitkomst = uitkomst + str(getal1) teller=teller+1
    uitkomst2 = list(uitkomst)
    return uitkomst2
uitkomst= []
uitkomst2=[]
vector= [1, 2, 1], [1, 4, 3]
v=vector[0]
u=vector[1]
uitkomst = add_vectors(u,v)
print uitkomst
But then I get a list of string instead of integers.

You're close. Now that you've initialized the result variable to [], you can use + just as you're doing. Just take out the str() function in that line. You've still got duplicate names there between that function and the outer level code.

There's also no need to convert uitkomst to a list, since it already is.


DaveA

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

Reply via email to