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

腳本之家,腳本語(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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产日韩片| 美女下面被cao出水 美女污视频 | 吻戏辣妞范1000免费体验 | 青青久久久国产线免观 | 精品操| 国产一卡2卡3卡四卡精品网 | 亚洲 综合 自拍 精品 在线 | 91aaa免费免费国产在线观看 | 国产成人精品午夜免费 | 52zfl宅福利yxpjw | 国产成人夜色91 | 国产一区二区免费福利片 | 免费观看一级特黄三大片视频 | 欧美午夜视频一区二区三区 | 欧美精品99 | 亚洲精品一区在线观看 | spank日本网站脱裤子打屁股 | 国产 国语对白 露脸正在播放 | 暖暖的视频完整视频韩国免费 | 污丝瓜视频 | 男人扒开| 99精品全国免费7观看视频 | 海派甜心完整版在线观看 | 三级全黄的视频 | 国产经典一区 | 九九精品视频一区二区三区 | 日本xxx在线观看免费播放 | 亚洲a视频在线观看 | 我与白丝同桌的故事h文 | 国产亚洲小视频 | 高跟翘臀老师后进式视频 | 天堂网在线.www天堂在线资源 | 亚洲国产成人综合 | 精品福利一区 | 91视频免费网站 | 日韩亚洲人成在线 | 精品人伦一区二区三区潘金莲 | 99精品国产自在现线观看 | 国产一区二区不卡视频 | 国产传媒在线播放 | 国产好深好硬好爽我还要视频 |