Problem:
random.choice(cells)returns a random value from your list, for example "3", and you try to assign something to it, for example:
"3" = "X"
which is wrong.
list, :
cells[5] = "X"
:
random.randrange().
import random
cells = [str(i) for i in range(1,10)]
cpuletter = 'X'
print(cells)
random_index = random.randrange(len(cells))
cells[random_index] = cpuletter
print(cells)
:
['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', 'X', '9']