-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
我知道使用全局變量是不好的做法,但爲什麼它不能從循環內調用全局變量? @Daniel – Joseph