Question: I'm trying to implement a stack without using Python's in-built stack/queue methods to understand the logic. Could someone please resolve the error below and provide a working solution - i think I'm close. 

```
data = ("a","b","c","d","e","f","g")

stackArray = []
stackPointer = 0
stackMaximum = 7

#Routine to Push
if stackPointer < stackMaximum:
    stackPointer = stackPointer + 1
    stackArray[stackPointer] = data
else:
    print("Stack Full")

#Routine to pop
if stackPointer > 0:
    stackPointer = stackPointer - 1
    stackArray[stackPointer] = data
else:
    print("No data to pop off")

```

stackArray[stackPointer] = data
NameError: name 'data' is not defined

Answer: 
This could be some form of obfuscation.

The string `try` could perhaps be `trу`. They are actually different. Cut & paste the first one and it will be treated as the reserved keyword `try`. Cut & paste the second one and it will be a valid field name. The `y` in the second case is not a normal `y`. It's a different unicode character.
You can't use keywords as variable names, see [chapter 3.9](https://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.9) in the Java Language Specification. 

The decompiler gave you bad/buggy code.