[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

In comp.lang.python, Paul Rubin <no.email at nospam.invalid> wrote: Thanks for posting this. I'm learning python and am very familiar with this "game". > #!/usr/bin/python3 > from itertools import chain > > def adjacents(cell): # generate coordinates of cell neighbors > x, y = cell # a cell is just an x,y coordinate pair > return ((x+i,y+j) for i in [-1,0,1] for j in [-1,0,1] if i or j) This line confuses me. How do you expect "if i or j" to work there? >>> for pair in adjacents((0,0)): ... print(pair) ... (-1, -1) (-1, 0) (-1, 1) (0, -1) (0, 1) (1, -1) (1, 0) (1, 1) >>> def neighboring(cell): ... x, y = cell ... return ((x+i,y+j) for i in [-1,0,1] for j in [-1,0,1]) ... >>> >>> for pair in neighboring((0,0)): ... print(pair) ... (-1, -1) (-1, 0) (-1, 1) (0, -1) (0, 0) (0, 1) (1, -1) (1, 0) (1, 1) >>> Elijah ------ is the torus game board unintentional?

- Prev by Date:
**Using a Variable Inside the String** - Next by Date:
**Conway's game of Life, just because.** - Previous by thread:
**[RELEASE] Python 3.8.0a4 is now available for testing** - Next by thread:
**Conway's game of Life, just because.** - Index(es):