David Holland wrote:

Kent,

I know that you know far more about python than me but
is that right ?
I created file with 4 records and this code did print
them all randomly:-

import random
i = 0
while i < 10:
    file = open('filename')
    listcontents = file.readlines()
    file.close()
    lenoflist = len(listcontents)-1
    x = random.randrange(0,lenoflist)
    print listcontents[x], i
    i = i +1


While although this code below does work many times nothing is printed out. import random i = 0 while i < 10: file = open('test.rantxt') listcontents = file.readlines() file.close() lenoflist = len(listcontents)#-1 x = random.randrange(0,lenoflist) print listcontents[x], i i = i +1

It sounds like your file has a blank line at the end. What do you get if you print len(listcontents)? Is it 4 or 5? Where do you think 'nothing' is coming from?


Try this:
import random
listcontents = [1,2,3,4]
for i in range(10):
    lenoflist = len(listcontents)-1
    x = random.randrange(0,lenoflist)
    print listcontents[x]

I never get a 4...

Kent

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to