题目要求
栈的工作原理
入栈 append
出栈 pop
栈顶元素
栈的长度 len
栈是否为空 len == 0
代码
注意:
- 可以先搭建好框架,即while循环与if条件语句
- choice == '1’时,一定要加上引号
- 出栈判断,先判断是否为空。if语句后检测的是bool值,可直接写
if stack:
。当stack为空时,条件不成立,完成else后的命令内容。 - 栈顶元素应该是列表最后一个元素
stack = []
info = """ 栈操作
1.入栈
2.出栈
3.栈顶元素
4.栈的长度
5.栈是否为空"""
while True:
print(info) #打印info让用户自己选择
choice = input('Please input your choice: ')
if choice == '1':
item = input('请输入入栈元素: ')
stack.append(item)
print('%s入栈成功' %item)
elif choice == '2':
if stack:
item = stack.pop() # stack有值时,进行弹出
print('%s出栈成功!' %item)
else:
print('栈为空,不能出栈')
elif choice == '3':
if len(stack) == 0: #另一种检验栈是否为空的方式
print('栈为空,不能出栈')
else:
print('栈顶元素 is %s' %stack[-1])
elif choice == '4':
print('栈的长度 is %s' %(len(stack)))
elif choice == '5':
if len(stack) == 0:
print('栈为空')
else:
print('栈不为空')
elif choice == 'q':
print('logout')
break
else:
print('Please check your input!')
结果展示
- 入栈+栈顶元素
- 栈顶长度+是否为空
- 出栈+退出测试