当前位置: 首页 > news >正文

Python | 洗盘子(栈)

  • 栈的基本概念(空栈、栈顶、栈底)和特点(先入后出)

Python 语言确实支持栈数据结构,但它通常是通过列表来模拟实现的。

  • 获取栈的长度,即栈中元素的数量,这通过len()获取列表的长度来实现。
  • 进栈操作,将新的元素放入到栈中,新的元素成为栈顶元素,栈顶元素即最后一个元素,这通过append()操作将新的元素添加到列表中就可以实现。
  • 出栈操作,栈顶元素 (列表的最后一个元素) 从栈中离开,可以通过pop()移除列表的最后一个元素。
  • 获取栈顶元素:获取列表的最后一位元素即可,可以通过索引list[-1]获取。
  • 判断栈是否为空:可以通过if not stack来判定。
stack = [] #创建一个新列表#入栈
stack.append(1)
stack.append(2)
stack.append(3)#出栈
top_element = stack.pop()  #弹出并返回栈顶元素
print(top_element)  #输出3#判读是否栈空
if not stack:

# 读取初始盘子数量
n = int(input())
plates = list(map(int, input().split()))
stack = []# 读取盘子的编号列表
for element in plates:stack.append(element)# 读取操作次数
m = int(input())# 循环处理每次操作
for _ in range(m):ope = input().split()if int(ope[0]) == 1:# 操作 1: 拿走并清洗盘子if stack:top_element = stack.pop()else:continue# 操作 2: 将未洗的盘子放入盘子堆放区elif int(ope[0]) == 2:stack.append(int(ope[1]))# 判断盘子堆放区是否为空
if not stack:print("All the dishes have been washed.")   
else:print(stack.pop())

相关文章:

  • 获得抖音商品评论 API 返回值
  • 一个例子了解c++的指针数组和数组指针
  • Linux网络编程——概念及实现双方聊天
  • mingw64,clang,gcc
  • C# Maui 报错:程序“[15748] MauiApp1.exe”已退出,返回值为 2147942405 (0x80070005)
  • 简说SQLServer
  • cocos入门6:向量简介
  • 升级最新版openssh-9.7p1及openssl-1.1.1h详细步骤及常见问题总结
  • 【C++题解】1254. 求车速
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 运输时间(200分) - 三语言AC题解(Python/Java/Cpp)
  • 排查互联网敏感信息,对信息泄露说“不”
  • 两种AI 图像生成技术:MidJourney 和 Stable Diffusion
  • 通过影刀RPA,创建定时任务,自动获取图片验证码登录平台;
  • 软件三班20240605
  • 经典的泡泡龙游戏源码免费下载
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JS+CSS实现数字滚动
  • Less 日常用法
  • nginx 配置多 域名 + 多 https
  • session共享问题解决方案
  • SpingCloudBus整合RabbitMQ
  • web标准化(下)
  • 初识 beanstalkd
  • 对JS继承的一点思考
  • ------- 计算机网络基础
  • 如何在GitHub上创建个人博客
  • 使用SAX解析XML
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • ionic入门之数据绑定显示-1
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​ArcGIS Pro 如何批量删除字段
  • # 职场生活之道:善于团结
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • (C++20) consteval立即函数
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (pojstep1.1.2)2654(直叙式模拟)
  • (二)fiber的基本认识
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (三)SvelteKit教程:layout 文件
  • (十三)Maven插件解析运行机制
  • (已解决)vscode如何选择python解释器
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .Net 高效开发之不可错过的实用工具
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .net程序集学习心得
  • .NET建议使用的大小写命名原则
  • .net解析传过来的xml_DOM4J解析XML文件