-1
stack = ['','','','','','']
global first
global last
first = 0
last = 0
print(stack)
while True:
def push():
if 0 <= last:
stack[last] = 'D'
last = last + 1
if last == 6:
last = -1
else:
print("The stack is full.")
print(stack)
def pop():
stack[last] = ''
last == stack[last-1]
print(stack)
if first == last:
print("The queue is empty")
a = input("Push or pop. ")
if a == 'push':
push()
elif a == 'pop':
pop()
私は最後にグローバル変数として割り当てましたが、このエラーはUnboundLocalError:割り当て前にローカル変数 'last'が参照されています。私は最後にグローバル変数を作ったと考えていますが、なぜエラーが他の方法を示唆しているのか理解できません。グローバル変数エラー
ループ内に関数を定義しないでください。 'global'は使わないでください。リストを事前に割り当てないでください。 – Daniel
私はグローバル変数の使用が悪い習慣であることを知っていますが、ループ内からグローバル変数を呼び出すことができないのはなぜですか? @ダニエル – Joseph