1

I really can't see where the problem in my code is. The error I am getting is NameError: name 'display_string' is not defined

But I don't understand where it is coming from. If I remove the if/else from the function, I get no errors. Same if I replace it with a simple display_string = "something".

    def show_table(self, rows = [], move = "none"):

        display_string = ""

        def display(value = ""):
            global display_string

            if value == "":
                display_string += "\n"
            else:
                display_string += str(value)

Full traceback:

C:\Users\vip\Desktop\Python>python test.py
Traceback (most recent call last):
  File "C:\Users\vip\Desktop\Python\test.py", line 257, in <module>
    screen.addstr(obj.show_table(rows))
  File "C:\Users\vip\Desktop\Python\test.py", line 197, in show_table
display()
  File "C:\Users\vip\Desktop\Python\test.py", line 120, in display
display_string += "\n"
NameError: name 'display_string' is not defined

Can anyone help clearing things up?

0 Answers0