Python之列表实现栈的工作功能

yipeiwu_com5年前Python基础

问题:

python中使用列表实现栈的功能

"""
栈的工作原理
  入栈
  出栈
  查看栈顶元素
  栈的长度
  栈是否为空
"""
stack = []
info = """
    栈操作
  1.入栈
  2.出栈
  3.栈顶元素
  4.栈的长度
  5.栈是否为空
  q.退出
"""
while True:
  print(info)
  choice = input('请输入选择:')
  if choice == '1':
    item = input('入栈元素:')
    stack.append(item)
    print('元素%s入栈成功' %item)
  elif choice == '2':
    #先判断栈是否为空
    if not stack:
      print('栈为空,不能出栈')
    else:
      item = stack.pop()
      print('%s元素出栈成功' %item)
  elif choice == '3':
    if len(stack) == 0:
      print('栈为空')
    else:
      print('栈顶元素为%s' %(stack[-1]))
  elif choice == '4':
    print('栈的长度为%s' %(len(stack)))
  elif choice == '5':
    if len(stack) == 0:
      print('栈为空')
    else:
      print('栈不为空')
  elif choice == 'q':
    print('退出')
    break
  else:
    print('请输入正确的选择')

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python解析模块(ConfigParser)使用方法

测试配置文件test.conf内容如下: 复制代码 代码如下:[first]w = 2v: 3c =11-3 [second] sw=4test: hello 测试配置文件中有两个区域,...

浅析Python多线程下的变量问题

在多线程环境下,每个线程都有自己的数据。一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁。 但是局部变量也有问题,就...

numpy中的delete删除数组整行和整列的实例

numpy中的delete删除数组整行和整列的实例

numpy的delete是可以删除数组的整行和整列的,下面简单介绍和举例说明delete函数用法: numpy.delete(arr, obj, axis=None) 参数: ar...

python实现决策树分类(2)

在上一篇文章中,我们已经构建了决策树,接下来可以使用它用于实际的数据分类。在执行数据分类时,需要决策时以及标签向量。程序比较测试数据和决策树上的数值,递归执行直到进入叶子节点。 这篇文章...

Django csrf 两种方法设置form的实例

第一种方法,在视图函数上边添加一条语句 @csrf_exempt 例子: @csrf_exempt def login(request): return render_to_...