'Output won't print as required

I'm getting this output :

self.__statsOpen = self.__default += 1
                                       ^
SyntaxError: invalid syntax

when I use this code:

class ticketStats(object):

    ticket_sum = ticket.counter - 2000

    def __init__(self):
        self.__default = 0

    def __statsAll(self):
        return ticket_sum

    def __statsOpen(self):
        for i in range(self.statsAll):
            if supportResponse.resolve()  == "Ticket Status: Open":  
                self.__statsOpen = self.__default += 1
            elif supportResponse.resolve()  == "Ticket Status: Closed":
                self.__statsOpen = self.__default -= 1

    def __statsClosed(self):
        for i in range(self.statsAll):
            if supportResponse.resolve()  == "Ticket Status: Closed":
                self.__statsClosed = self.__default += 1 
            elif supportResponse.resolve() == "Ticket Status: Open":
                self.__statsClosed = self.__default -= 1       
    
    def displayStats(self):
        print("\nDisplaying Ticket Statistics\n")
        print("Tickets Created: " + str(self.__statsAll) + "Tickets Resolved: " + str(self.__statsClosed) + "Tickets To Solve: " + str(self.__statsOpen))  

And this output when I remove self.__default += 1 / -= 1 parts

Displaying Ticket Statistics

Tickets Created: <bound method ticketStats.__statsAll of <__main__.ticketStats object at 0x00D88470>>Tickets Resolved: <bound method ticketStats.__statsClosed of <__main__.ticketStats object at 0x00D88470>>Tickets To Solve: <bound method ticketStats.__statsOpen of <__main__.ticketStats object at 0x00D88470>>

These are my instances so I'm trying to get an output of tickets created : 3 tickets resolved: 1 tickets to solve: 2

t1 = ticketCreation("Inna", "INNAM", "[email protected]", "My monitor stopped working")
t1R = supportResponse("sucks")
t2 = ticketCreation("", "MARIAH", "", "Request for video camera to conduct webinars")
t2R = supportResponse("")
t3 = ticketCreation("Joel", "JOELS", "", "change password")
t3R = supportResponse("")
t4 = ticketStats()

print("\nPrinting Tickets:\n")

t1.autoAssign()
t1.displayTicket()
t1R.respond()
t1R.resolve()
print()

t2.autoAssign()
t2.displayTicket()
t2R.respond()
t2R.resolve()
print()

t3.autoAssign()
t3.displayTicket()
t3R.respond()
t3R.resolve()

t4.displayStats()


Solution 1:[1]

Have you tried using self.__statsOpen = self.__default + 1 as opposed to self.__statsOpen = self.__default += 1?

The issue might be that the += in addition to the = means you're defining self.__statsOpen as well as defining self.__default, and maybe Python can't handle that?

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1