欢迎来到天天文库
浏览记录
ID:55632068
大小:21.00 KB
页数:5页
时间:2020-05-21
《python 栈的两个应用举例.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数制转换:1.硬编码实现#--coding:utf-8--"""N=input("Pleaseinputanumber::")while(N):print"**@**"N-=1"""N=input("输入十进制数字(换算为八进制)::")stack=[]string8=""while(N):#求余stack.append(N%8)#求商N=N//8while(len(stack)>0):string8+=str(stack.pop())print"转换为八进制:"+string81.构建stack类,来实现Stack1.py#--coding:utf-8--classStack(object
2、):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(t
3、emp):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={'
4、(':')','[':']','{':'}'}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"左括号多余"
此文档下载收益归作者所有