Yes, you got that right. But you want 4, because if the list of a length is 5, the indexes are: 0,1,2,3,4 and you don't want a out of range index
random_col never return 5,
or we want an variable with the value 1,2,3,4 and 5...
where is my error ?
no, we want a variable with the value 0,1,2,3,4. I can't magically find your error, you will need to post your code
( i mean my missunderstanding )
from random import randint board =  for x in range(0, 5): board.append(["O"] * 5) def print_board(board): for row in board: print " ".join(row) def random_row(x): return randint(0,len(x)-1) def random_col(x): return randint(0,len(x)-1) print random_row(board) print random_col(board)
when i call
print random_row(board) and
print random_col(board) the result is 0 to 4 not 1 to 5
we want 0 till 4? Given lists are zero indexed based (counting start at zero)
So if the list is 5 long, the indexes are: 0,1,2,3,4. So we don't want
5, given that would be outside the list
Oh ok thanks for the help
we don't want 1,2,3,4,5 since then we can't access the first index (which is at zero) and 5 would be outside the list, causing errors. Confusing that counting start at zero, i know
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.