有lis问题吗

2024-04-29 11:49:15 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我现在正在写康威的人生游戏,我已经到了不知道怎么解决的地步。你知道吗

编辑以下是我遇到问题的不同列表:

   for repeticiones in range(0,5):
    nuevo_mapa = mapax
    print(mapax)
    if '@' in mapax:
        print('Jell')
    if mapax is mapa_juego:
        print('God')
    for y in range(0,10):
        for x in range(0,10):
            if mapa_juego[y][x] == '@':
                viva_muerta = True
            elif mapa_juego[y][x] == '0':
                viva_muerta = False
            for i in range(0,8):
                try:
                    if mapa_juego[y + check_listy[i]][x + check_listx[i]] == '@':
                        sum += 1
                except IndexError:
                    pass
            if viva_muerta == True and sum in [0,1]:
                    nuevo_mapa[y][x] = '0'
            elif viva_muerta == True and sum >= 4:
                    nuevo_mapa[y][x] = '0'
            elif viva_muerta == True and sum in [2,3]:
                    nuevo_mapa[y][x] = '@'
            elif viva_muerta == False and sum == 3:
                    nuevo_mapa[y][x] = '@'
            sum = 0
    mapa_juego = nuevo_mapa
    print('\n\n')

mapax是一个列表,其中包含0。你知道吗

我想这样做:

  1. 新马帕
  2. 新马巴已修改
  3. mapa\u juego=新马帕

从头再来。 但是问题来了,在第一次迭代之后,mapax不再是一个0的完整列表。 输出是这样的(我想全部发布,因为它太乱了,避免混淆)

>>> [0,0,0,0,0,0,0] First print of mapax
>>> [0,0,@,0,0,0,0] Second print of mapax and I want to avoid this.

如果你在密码里看到什么,请告诉我,谢谢。你知道吗

编辑:以下是我遇到问题的不同列表:

    mapa_juego = [
['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','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','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',],
['0','0','0','0','0','0','0','0','0','0',],
['0','0','0','0','0','0','0','0','0','0',]
]
mapax = [
['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','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',],
['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','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',]
]

2编辑:以下是完整代码:

    mapa_juego = [
['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','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','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',],
['0','0','0','0','0','0','0','0','0','0',],
['0','0','0','0','0','0','0','0','0','0',]
]
mapax = [
['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','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',],
['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','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',]
]
viva_muerta = None
check_listy = [0,0,1,-1,-1,1,-1,1]
check_listx = [1,-1,0,0,1,1,-1,-1]
sum = 0
#Reglas

# Una célula muerta con exactamente 3 células vecinas vivas "nace" (es decir, al turno siguiente estará viva).
# Una célula viva con 2 ó 3 células vecinas vivas sigue viva, en otro caso muere o permanece muerta (por "soledad" o "superpoblación").
# Célula viva = True muerta = False
# for line in mapa_juego:
#     print(line)

for repeticiones in range(0,5):
    nuevo_mapa = mapax
    print(mapax)
    if '@' in mapax:
        print('Jell')
    if mapax is mapa_juego:
        print('God')
    for y in range(0,10):
        for x in range(0,10):
            if mapa_juego[y][x] == '@':
                viva_muerta = True
            elif mapa_juego[y][x] == '0':
                viva_muerta = False
            for i in range(0,8):
                try:
                    if mapa_juego[y + check_listy[i]][x + check_listx[i]] == '@':
                        sum += 1
                except IndexError:
                    pass
            if viva_muerta == True and sum in [0,1]:
                    nuevo_mapa[y][x] = '0'
            elif viva_muerta == True and sum >= 4:
                    nuevo_mapa[y][x] = '0'
            elif viva_muerta == True and sum in [2,3]:
                    nuevo_mapa[y][x] = '@'
            elif viva_muerta == False and sum == 3:
                    nuevo_mapa[y][x] = '@'
            sum = 0
    mapa_juego = nuevo_mapa
    print('\n\n')

编辑3:实际输出

['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', '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']
['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', '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']



['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', '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', '@', '@', '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']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
God



['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', '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', '@', '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']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
God



['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', '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', '@', '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']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
God



['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', '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', '@', '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']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
God

Tags: andintrueforifrangesumprint