On Wed, 03 Feb 2010 11:21:56 +0800 David <ld...@gmx.net> wrote: > Hello list, > > I thought this was easy even for me, but I was wrong, I guess. > Here is what I want to do: take two random numbers between 1 and 99, and > put them into a list. > > import random > terms = [] > for i in range(2): > terms = random.randint(1, 99) > print terms > > This prints just one number (the last one generated in the loop?)
Yo, terms now refers to a simple integer. What you want is instead: for i in range(2): term = random.randint(1, 99) terms.append(term) # put new item at end of list print terms > So I tried to change line 4 to the following: > terms += random.randint(1, 99) This is equivalent to terms = terms + random.randint(1, 99) Because the first operand is a list, python won't do an addition (yes, the operator can be misleading, I would personly prefer eg '++' to avoid ambiguity), but a so-called "concatenation" (yes, that word is ugly ;-). This "glues" together 2 sequences (lists or strings). In this case, you get an error because the second operand is not a sequence. Denis ________________________________ la vita e estrany http://spir.wikidot.com/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor