只是简单的实现,没有对边界情况进行处理,大家可以自己处理一下,比如说栈为空时不得弹出,也可以设置一下栈的大小,当栈满了将会溢出。还有就是输入不为push和pop的情况,或者用户不想用固定的列表[1,2,3]作为进出栈的数据,也可以改写手动输入数据值。这里只是提供一个简单的思路
# simple push and pop
a = [1,2,3]
void_lst = []
def push_pop(my_str,i):
if my_str == 'push':
void_lst.append(a[i])
print void_lst[len(void_lst)-1]
elif my_str == 'pop':
print void_lst[len(void_lst)-1]
new_lst = void_lst[:-1]
return new_lst
else:
pass
def get_top():
print void_lst[len(void_lst)-1]
count = -1
for i in range(10):
my_str = raw_input('please input')
if my_str == 'push':
count += 1
push_pop(my_str,count)
elif my_str == 'pop':
count -= 1
void_lst = push_pop(my_str,count)
else:
pass