python 栈的两个应用举例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数制转换:1.硬编码实现#--coding:utf-8--N=input(Pleaseinputanumber::)while(N):print**@**N-=1N=input(输入十进制数字(换算为八进制)::)stack=[]string8=while(N):#求余stack.append(N%8)#求商N=N//8while(len(stack)0):string8+=str(stack.pop())print转换为八进制:+string82.构建stack类,来实现Stack1.py#--coding:utf-8--classStack(object):def__init__(self):self.items=[]defisEmpty(self):returnself.items==[]defpush(self,item):self.items.append(item)defpop(self):returnself.items.pop()defGetTop(self):returnself.items[len(self.items)-1]moshi.py#--coding:utf-8--importstack1shiyan=stack1.Stack()stringu=temp=input(请输入一个十进制数字::)while(temp):shiyan.push(temp%8)temp=temp/8while(notshiyan.isEmpty()):stringu+=str(shiyan.pop())print八进制为::+stringu括号匹配硬编码实现#--coding:utf-8--print****括号匹配****print输入原则:每当你输入一个括号,你需要再输入一个‘,’进行区分,例如:(,[,],(,),)输入的可识别括号有(),[],{}strpp=raw_input(请输入一段括号表达式:)basestr=strpp.split(',')pstack=[]suoyin={'(':')','[':']','{':'}'}foreinbasestr:if(e=='('ore=='['ore=='}'):pstack.append(e)else:iflen(pstack)==0:print右括号多余breakelse:ife==suoyin[pstack[len(pstack)-1]]:pstack.pop()else:print不匹配print右括号多余breakiflen(pstack)==0:print匹配正确else:print左括号多余

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功