Dictionary not saving data

Viewed 33
grid = {}
coord = {}
gridRender = {}

for xGrid in range(-5, 6):
    for yGrid in range(-5, 6):
        keyGrid = str(f"grid_{xGrid}_{yGrid}")
        grid[keyGrid] = xGrid, yGrid

for xCoord in range(-5, 6):
    yCoord = xCoord + 2   
    keyCoord = str(f"coord{xCoord}_{yCoord}")
    coord[keyCoord] = xCoord, yCoord
    for xGrid in range(-5, 6):
        for yGrid in range(-5, 6):
            if str(coord[f"coord{xCoord}_{yCoord}"]) == str(grid[f"grid_{xGrid}_{yGrid}"]):
                keyGridRender = str(f"gridRender_{xGrid}_{yGrid}")
                gridRender[keyGridRender] = "░░" 
            elif str(coord[f"coord{xCoord}_{yCoord}"]) != str(grid[f"grid_{xGrid}_{yGrid}"]):
                keyGridRender = str(f"gridRender_{xGrid}_{yGrid}")
                gridRender[keyGridRender] = "██"

When I run this program and print a list of all of the values in the dictionary, none of them contain the "░". However if I add a print line right after it assigns the string to the key like this:

if str(coord[f"coord{xCoord}_{yCoord}"]) == str(grid[f"grid_{xGrid}_{yGrid}"]):
                keyGridRender = str(f"gridRender_{xGrid}_{yGrid}")
                gridRender[keyGridRender] = "░░" 
                print(gridRender[f"gridRender_{xGrid}_{yGrid}"])
elif str(coord[f"coord{xCoord}_{yCoord}"]) != str(grid[f"grid_{xGrid}_{yGrid}"]):
                keyGridRender = str(f"gridRender_{xGrid}_{yGrid}")
                gridRender[keyGridRender] = "██"
                print(gridRender[f"gridRender_{xGrid}_{yGrid}"])

It prints a long list of "█"s which if you scroll enough you will find "░"s hidden in between occasionally.

I'm not sure why it would save right after if assigns it but not later.

0 Answers
Related