一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類(lèi)導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python代數(shù)式括號(hào)有效性檢驗(yàn)示例代碼

python代數(shù)式括號(hào)有效性檢驗(yàn)示例代碼

2020-10-05 10:55漫漫人生的翠色 Python

這篇文章主要給大家介紹了關(guān)于python代數(shù)式括號(hào)有效性檢驗(yàn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

思路:

利用棧實(shí)現(xiàn)代數(shù)式中括號(hào)有效行的的檢驗(yàn):

代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
class mychain(object): #利用鏈表建立棧,鏈表為父類(lèi)
 length=0
 def __init__(self,value=None,next=None):#創(chuàng)建鏈表,長(zhǎng)度并不包含頭部
  self.value=value
  self.next=next
  #mychain.length=mychain.length+1
 def append(self,value=None):
  while self.next!=None:
   self=self.next
  self.next=mychain(value)
  mychain.length=mychain.length+1 #追加時(shí),鏈表長(zhǎng)度增加
 def travle(self):#遍歷鏈表
  print(self.value)
  if self.next!=None:
   self.next.travle()
 def drop (self,value):#刪除特定值的第一個(gè)匹配節(jié)點(diǎn)
  while self.next!=None:
   if self.next.value!=value:
    self=self.next
   else:
    self.next=self.next.next
    mychain.length=mychain.length-1 #刪除時(shí),鏈表長(zhǎng)度減小
    break
 def pop(self):#刪除未節(jié)點(diǎn)
  if self.next!=None:#并不刪除頭結(jié)點(diǎn)
   while self.next.next!=None:
    self=self.next
   self.next=None
   mychain.length=mychain.length-1#彈出為節(jié)點(diǎn),并減小長(zhǎng)度,頭結(jié)點(diǎn)不彈出
 
 
 
class stock(mychain):#棧類(lèi)
 bottom=None   #棧底
 top=None     #棧頂
 n_count=0    #計(jì)數(shù)
 def Max(self):  #占中最大值
  if self.next!=None:
   tmp = self.next.value
   while self.next.next!=None:
    self=self.next
    if self.next.value>tmp:
     tmp=self.next.value
   return tmp
  else:
   print('棧為空!')
 def Min(self):#棧中的最小值
  if self.next!=None:
   tmp = self.next.value
   while self.next.next!=None:
    self=self.next
    if self.next.value<tmp:
     tmp=self.next.value
   return tmp
  else:
   print('棧為空!')
 
 def push(self,value): #壓棧
  while self.next != None:
   self = self.next
  self.next = mychain(value)
  stock.top=self.next
  stock.length=stock.length+1
  stock.n_count=stock.n_count+1
 def __init__(self,value='',next=None):
  self.value=value
  self.next=next
  stock.bottom=self
  stock.top=self
  #stock.n_count=stock.n_count+1
  #stock.length=stock.length+1
 def append(self,value=''):#取消追加函數(shù)
  print('請(qǐng)使用Push()!')
 def pop(self):
  if self.next!=None:#并不刪除頭結(jié)點(diǎn)
   while self.next.next!=None:
    self=self.next
   self.next=None
   stock.top=self
   stock.length=stock.length-1#彈出為節(jié)點(diǎn),并減小長(zhǎng)度,頭結(jié)點(diǎn)不彈出
class solution(object):
 def validationofbrackets(self,astr=''):#檢驗(yàn)串中的括號(hào)合法性
  braketsstock=stock()
  for i in astr:
   if i in ['{','(','[']:
    braketsstock.push(i)
   else:
    if i==')':
     if braketsstock.top.value=='(':
      braketsstock.pop()
     else:
      return False
    elif i==']':
     if braketsstock.top.value=='[':
      braketsstock.pop()
     else:
      return False
    elif i=='}':
     if braketsstock.top.value=='{':
      braketsstock.pop()
     else:
      return False
    else:
     pass
  print(astr)
  print(braketsstock.length)
  if braketsstock.length==0:
   return True
  else:
   return False

運(yùn)行:

?
1
2
3
bstr='([{((({{}})))}]){{}}{{}{}{}[][]()(123)(((sin5)))}'
f=solution()
print(f.validationofbrackets(bstr))

總結(jié)

到此這篇關(guān)于python代數(shù)式括號(hào)有效性檢驗(yàn)的文章就介紹到這了,更多相關(guān)python代數(shù)式括號(hào)有效性檢驗(yàn)內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://www.cnblogs.com/wjqsdwm/p/13765413.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: a级在线看| 成人一区二区丝袜美腿 | 天天舔天天干 | 国产精品永久免费10000 | 娇妻在床上迎合男人 | 好大好深受不了了快进来 | 国产成人综合精品一区 | 欧美在线一级片 | 禁欲天堂 | 青草国产在线视频 | 波多野结衣伦理在线观看 | 公翁的舌尖研磨她的花蒂小说 | 日韩视频在线免费 | 教室眠催白丝美女校花 | 人皮高跟鞋在线观看 | 天天干天天爽天天操 | 忘忧草在线社区WWW日本-韩国 | jj视频免费 | 国产美女久久精品香蕉69 | 日韩资源| 91麻豆国产福利在线观看 | 精品久久综合一区二区 | 深夜福利一区 | 久久成人永久免费播放 | 国产成人在线播放 | 好姑娘在线观看完整版免费 | 婷婷丁香色综合狠狠色 | 91精品久久一区二区三区 | 无人区在线观看免费完整版免费 | 91制片厂制作传媒破解版免费 | 五月最新女厕所高跟嘘嘘 | 欧美成人第一页 | 久久久无码精品亚洲A片软件 | 99热视| 毛片资源站 | 波多野结衣教师未删减版 | 18hdxxxx日本护士 | girlfriend动漫在线播放 | 国内精品免费一区二区三区 | 国产射频放大器 | 亚洲国产一区二区a毛片 |