Pythonでライフゲーム
def main(list): tmp = [ [0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0] ] for i in range(1, 4): for j in range(1, 4): cnt = count(list, i, j) if(list[i][j] == 1): if(cnt != 2 and cnt != 3): tmp[i][j] = 0 # dead else: tmp[i][j] = 1 # alive else: if(cnt == 3): tmp[i][j] = 1 # born else: tmp[i][j] = 0 # death return tmp def count(list, row, col): ret = 0 for i in range(-1, 2): for j in range(-1, 2): if(i == 0 and j == 0): continue if(list[row + i][col + j] == 1): ret += 1 return ret def printList(list): for i in range(1, 4): print list[i][1],list[i][2],list[i][3] print "" list = [ [0, 0, 0, 0, 0], [0, 0, 1, 0, 0],[0, 0, 0, 1, 0],[0, 1, 1, 1,0], [0, 0, 0, 0, 0, 0] ] printList(list) list = main(list) printList(list)
これで正しいのかは微妙ですが…。