學習Python 第十二天

2021-09-10 21:47:59 字數 4985 閱讀 4825

列表 鍊錶

1、棧 : filo(先進後出)

2、佇列 : fifo(先進先出)

#普通佇列:

'''class myquene(object):

def __init__(self,list = ):

self.__list = list

def size(self):

return len(self.__list)

def delete(self):

if self.size() == 0:

print("空,不能刪除")

else:

temp_delete = self.__list[0]

del self.__list[0]

return temp_delete

def insert(self,data):

def peek(self):

if self.size() == 0:

print("空")

else:

return self.__list[0]

m = myquene()

'''#優先順序佇列

'''class mypqueue(object):

def __init__(self,list = ):

self.__list = list

def size(self):

return len(self.__list)

def delete(self):

if self.size() == 0:

print("空,不能刪除")

else:

temp_delete = self.__list[0]

del self.__list[0]

return temp_delete

def insert(self,data):

if self.size() == 0:

else:

temp = -1

for i in range(len(self.__list)):

if self.__list[i] > data:

temp = i

break

if temp == -1:

else:

self.__list.insert(temp,data)

def peek(self):

if self.size() == 0:

print("空")

else:

return self.__list[0]

m = mypqueue()

m.insert(1)

m.insert(2)

m.insert(4)

m.insert(3)

print(m.delete())

print(m.delete())

print(m.delete())

print(m.delete())

'''#迴圈佇列

'''class xunhuan():

def __init__(self,list=,first=none,last=none):

self.__list = list

self.__first = first

self.__last = last

def size(self):

length = 0

if self.__last > self.__first:

length = self.__last - self.__first + 1

elif self.__first == self.__last and self.__last != none:

length = 1

elif self.__first == self.__last and self.__last == none:

length = 0

else:

length = len(self.__list) - (self.__first - self.__last - 1)

return length

def insert(self,data):

if self.size() == 0:

self.__first = 0

self.__last = 0

else:

if self.size() == len(self.__list):

self.__list.insert(self.__last+1,data)

self.__last = self.__last + 1

else:

if self.__last + 1 == len(self.__list):

self.__list[0] = data

self.__last = 0

else:

self.__list[self.__last + 1] = data

self.__last = self.__last + 1

def delete(self):

if self.size() == 0:

print("空,無法刪除")

elif self.size() == 1:

temp = self.__list[self.__first]

self.__first = none

self.__last = none

return temp

else:

temp = self.__list[self.__first]

if self.__first + 1 == len(self.__list):

self.__first = 0

else:

self.__first = self.__first + 1

return temp

def peek(self):

if self.size() == 0:

print("空")

else:

return self.__list[self.__first]

'''

1、中綴表示式轉字尾表示式

1)遇到運算元直接拼到字串

2)遇到運算子

a,遇到左括號

b,遇到右括號

c,遇到±

d,遇到*/

2、計算字尾表示式

class nullstackerror(baseexception):

def __init__(self):

super().__init__("null stack error !!!")

class mystack():

def __init__(self,len=0,list=):

self.__len = 0

self.__list = list

def push(self,data):

self.__len += 1

def pop(self):

temp = none

if self.__len == 0:

raise nullstackerror()

else:

temp = self.__list.pop()

self.__len -= 1

return temp

def peek(self):

if self.__len == 0:

raise nullstackerror()

else:

return self.__list[-1]

def peekq(self):

if self.__len == 0:

raise nullstackerror()

else:

return self.__list[::]

def length(self):

return self.__len

def middle2after(s=""):

str = ""

list =

for item in s:

if item.isalnum():

str += item

else:

if item == "(":

elif item == ")":

while list[-1] != "(":

str += list.pop()

list.pop()

elif item in "+-":

if len(list) == 0:

else:

while len(list) != 0 and list[-1] != "(":

str += list.pop()

elif item in "*/":

else:

print("錯了")

while len(list)!=0:

str += list.pop()

return str

def cal(s=""):

stack =

for item in s:

if item.isalnum():

else:

a = float(stack.pop())

b = float(stack.pop())

if item == "-":

c = b - a

elif item == "+":

c = b + a

elif item == "*":

c = b * a

elif item == "/":

c = b / a

else:

print("有問題")

return stack.pop()

str = middle2after("1+3*(4+2)/5+(6+7*8-9)")

print(str)

print(cal(str))

學習Python第十二天

if else語句 if 條件為真 執行命令1 else 執行命令2while else 語句 a 0while a 5 print a,是大於5的數 a 1else print a,是小於或等於5的數 10 是大於5的數 9 是大於5的數 8 是大於5的數 7 是大於5的數 6 是大於5的數 5 ...

python爬蟲學習第十二天

今天學習了用beautifulsoup函式來獲取指定的節點,以及用當前結點順藤摸瓜找到其子節點,後代節點,兄弟節點,父節點。練習1 findall 函式抽取只包含在 標籤裡的文字 還順便把class red 標籤裡的內容也提取了 from urllib.request import urlopen ...

第十二天Python學習記錄

1 iphone7 alex rain jack old driver 2 iphone8 alex shanshan jack old boy 34 both list 56 for name in iphone8 7if name in iphone7 89 print both list 資料...