用c寫資料結構太煩了
所以嘗試用python寫了部分的代碼(本人小白)(基于python的list)
全文語法簡單,易懂**
如果有錯,請各位大神指導一下;
```python
import string
class Sequen():
def __init__(self):
self.list=[]//創建一個空串列
def Createlist(self)://創建串列
a = int(input("請輸入要創建的元素,輸入9999則結束\n"))
while a!=9999:
self.list.append(a)
a=int(input("請輸入要創建的元素,輸入9999則結束\n"))
print(self.list)
def loc(self)://根據元素查找對應的下標
a=int(input("請輸入要查找的元素\n"))
for i in range(len(self.list)):
if self.list[i]==a:
print("找到了,下標位置:",i)
def insert(self):
a=int(input("請輸入要插入的位置:\n"))
b=int(input("請輸入要插入的元素:\n"))
if a<0 or a>len(self.list):
print("位置錯咯\n")
self.list.insert(a,b)
print("插入之后的串列為:",self.list)
def des(self):
a=int(input("請輸入要洗掉的元素\n"))
for i in range(len(self.list)):
if a in self.list :
self.list.remove(a)
print("洗掉該元素之后,串列:", self.list)
def null(self):
if len(self.list)==0:
print("空表哦")
else:
print("這個表的長度:",len(self.list))
def reverse(self):
if len(self.list)==0:
print("這是一個空表拉")
print("倒序之后的順序表為:",self.list[::-1])
def prinf(self):
for i in range(len(self.list)):
print(self.list[i],end='')
print('')
def max(self):
while(True):
a=int(input("最大值:1;最小值:0;退出:9999"))
if a==1:
print(max(self.list))
elif a==0:
print(min(self.list))
elif a==9999:
break
if __name__ == '__main__':
b=Sequen()
print('-----------------------------------')
print('--1.建立順序表-------2. 查找元素-----')
print('--3.插入元素---------4. 洗掉元素------')
print('--5.求表長度---------6. 逆轉順序表---')
print('--7.遍歷順序表-------8. 求最值------')
print('--9.退出---------------------------')
while(True):
num=int(input("請做出你的選擇:"))
if num==1:
b.Createlist()
elif num==2:
b.loc()
elif num==3:
b.insert()
elif num==4:
b.des()
elif num==5:
b.null()
elif num==6:
b.reverse()
elif num==7:
b.prinf()
elif num == 8:
b.max()
else:
break
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/224276.html
標籤:python
