Entfernen Sie IndexError von if Anweisung - Labyrinth -LösungssoftwarePython

Python-Programme
Anonymous
 Entfernen Sie IndexError von if Anweisung - Labyrinth -Lösungssoftware

Post by Anonymous »

Ich wollte ein Labyrinth-Lösungs-Programm codieren und habe bereits mit dem Import des Labyrinths versagt. Dies ist mein Code: < /p>

Code: Select all

def import_maze(filename):
temp = open(filename, 'r')
x, y = temp.readline().split(" ")
maze = [[0 for x in range(int(y))] for x in range(int(x))]
local_counter, counter, startx, starty = 0, 0, 0, 0
temp.readline()
with open(filename) as file:
maze = [[letter for letter in list(line)] for line in file]

for i in range(1, int(y)):
for z in range(0, int(x)):
if maze[i][z] == '#':
local_counter += 1
if local_counter < 2 and maze[i][z] == " ":
counter += 1
if maze[i][z] == 'K':
startx, starty = i, z
local_counter = 0

return maze, startx, starty, counter

maze, startx, starty, counter = import_maze("kassiopeia0.txt")

print(counter, "\n", startx, ":", starty, "\n", maze)
< /code>
Ein bisschen zu erklären: Die Local_Counter zeigt die Grenzen des Labyrinths. So kann ich die leeren Elemente im Array zählen. Die Menge von ihnen wird im Zähler gespeichert, was ich für mich eine Rekursionsbasis benötige.
und die Fehlermeldung, die ich empfangeC:\Python34\python.exe C:/Users/Anton/PycharmProjects/BWINF_Aufgabe_1/Wegfinden.py
Traceback (most recent call last):
File "C:/Users/Anton/PycharmProjects/BWINF_Aufgabe_1/Wegfinden.py", line 27, in 
maze, startx, starty, counter = import_maze("kassiopeia0.txt")
File "C:/Users/Anton/PycharmProjects/BWINF_Aufgabe_1/Wegfinden.py", line 16, in import_maze
if maze[i][z] == '#':
IndexError: list index out of range

Process finished with exit code 1
< /code>
Schließlich ist hier die kassiopeia0.txt-file: < /p>
6 9
#########
#  #    #
#  # #  #
#  K #  #
#    #  #
#########
Entschuldigung für mein Englisch.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post