[Tutor] ....and another thing!
kromag@nsacom.net
kromag@nsacom.net
Fri, 3 Aug 2001 10:17:39 -0700 (PDT)
In the following:
mport random
import string
cards=open('\windows\desktop\cards.txt','r')
schmack=cards.readlines()
counter=0
while counter <10:
total_cards=len(schmack)
choose=random.randint(1,string.atoi(`total_cards`))
chosen=schmack[choose]
del schmack[choose]
print chosen
counter=counter+1
I will get the occasional:
Traceback (most recent call last):
File "reader.py", line 9, in ?
chosen=schmack[choose]
IndexError: list index out of range
>Exit code: 1
It seems to me that:
total_cards=len(schmack)
should recalculate the number of items in the list with each iteration of the
loop. Since there are 72 items in the list, and one item is removed from the
list at the end of every iteration, it stands to reason that the list index
should be accurately recalculated by len(). Where am I going wrong?