'''
@author: 人人都爱小雀斑
@time: 2020/3/11 8:46
@desc:
顺序表的相关操作
'''
class SequenceList:
def __init__(self):#初始化线性表
self.L=[]
def CreateSequenceList(self):#创建顺序表
print("*"*30+"\n*请输入数据后按回车键确认,若想结束输入请按“#”\n"+"*"*30)
while True:
e=input("请输入元素:")
if e=="#":break
self.L.append(int(e))
def GetElement(self):#获取表中指定位置的元素值
position=eval(input("请输入想要查找的元素值的位置:"))
value=self.L[position]
print("元素位置:{};元素值:{}".format(position,value))
def FindElement(self):#在表中查找某一指定元素
value = eval(input("请输入想要查找的元素:"))
position=self.L.index(value)
print("元素值:{};元素位置:{}".format(value,position))
def InsertElement(self):#在表中指定位置插入某一元素
position=eval(input("请输入待插入元素的位置:"))
value=eval(input("请输入待插入元素的值:"))
self.L.insert(position,value)
print("插入元素后,当前顺序表为:",self.L)
def AppendElement(self):#在表末尾插入某一元素
value=eval(input("请输入在末尾插入的元素的值:"))
self.L.append(value)
print("插入元素后,当前顺序表为:", self.L)
def SortSequenceList(self):#对表进行排序
print("未排序的顺序表:",self.L)
self.L.sort()
print("排序后的循序表:",self.L)
def DeleteElement(self):#删除表中某一元素
value=eval(input("请输入待删除的元素:"))
self.L.remove(value)
print("删除后的循序表:", self.L)
def VisitElement(self):#访问表中某一位置的元素
positon=eval("请输入待访问的元素的位置")
print("在顺序表中位置为{}的元素为:{}".format(positon,self.L[positon]))
def TravelseElement(self):#遍历表中所有元素
for i in range(len(self.L)):
print("第{}个元素的值为:{}".format(i,self.L[i])) billie=SequenceList()
billie.CreateSequenceList()
print("1、获取顺序表中指定位置的元素值\n"
"2、在顺序表中查找某一指定元素\n"
"3、在顺序表中指定位置插入某一元素\n"
"4、在顺序表末尾插入某一元素\n"
"5、对顺序表进行排序\n"
"6、删除顺序表中某一元素\n"
"7、访问顺序表中某一位置的元素\n"
"8、遍历顺序表中所有元素\n")
while True:
num=eval(input("\n请输入要执行的操作的序号:"))
dic={1:"billie.GetElement()",2:"billie.FindElement()",3:"billie.InsertElement()",4:"billie.AppendElement()",5:"billie.SortSequenceList()",6:"billie.DeleteElement()",7:"billie.VisitElement()",8:"billie.TravelseElement()"}
eval(dic[num])

python学习笔记 | 顺序表的常规操作的更多相关文章

  1. C语言学习笔记-顺序表

    #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include "coni ...

  2. python学习笔记(二)文件操作和集合

    集合: 集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据 集合的作用: 1.它可以把一个列表中重复的数据去掉,而不需要你再写判断 2.可以做关系测试, ...

  3. python学习笔记(十):操作excel

    一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...

  4. Python学习笔记-Day2-Python基础之字符串操作

    字符串的常用操作包括但不限于以下操作: 字符串的替换.删除.截取.复制.连接.比较.查找.分割等 这里将对字符串的内置操作方法进行总结归纳,重点是以示例的方式进行展示. 使用type获取创建对象的类 ...

  5. Python学习笔记3-文件的简单操作

    Python中的文件操作 Python中文件打操作离不开两个模块  os 和 shutil os:操作文件.目录: Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话, ...

  6. python学习笔记3-列表

    # 1.列表长度可变,内容可修改 a = [0,1,2,3] a[0] = 'a0' a # ['a0', 1, 2, 3] # 2.添加元素 # 2.1列表末尾添加元素 a.append(4) a ...

  7. python学习笔记——(三)文件操作

    ·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhan ...

  8. python学习笔记02--列表和元组

    一.简介 数据结构是通过某种方式组织在一起的数据元素的集合. 序列是python中最基本的数据结构,python中包含6种内建的序列,分别是列表.元组.字符串.Unicode字符串.buffer对象和 ...

  9. Python学习笔记 -- 第六章 文件操作

    I/O编程 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这 ...

随机推荐

  1. Linux相关知识基础

    目录 前言 第一章 Linux远程连接管理 1. 为什么要远程连接Linux系统 2. 连接前的小知识 2.2.1 IP地址 2.2.2 端口的概念 2.2.3 协议的概念 3. 远程连接Linux的 ...

  2. 图的遍历BFS

    图的遍历BFS 广度优先遍历 深度优先遍历 可以进行标记 树的广度优先遍历,我们用了辅助的队列 bool visited[MAX_VERTEX_NUM] //访问标记数组 //广度优先遍历 void ...

  3. python绘折线图

    # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt #X轴,Y轴数据 y = [0.3,0.4,2,5 ...

  4. 史上最全单链表的增删改查反转等操作汇总以及5种排序算法(C语言)

    目录 1.准备工作 2.创建链表 3.打印链表 4.在元素后面插入元素 5.在元素前面增加元素 6.删除链表元素,要注意删除链表尾还是链表头 7.根据传入的数值查询链表 8.修改链表元素 9.求链表长 ...

  5. docker 安装es跟kibana

    首先docker 查询es docker search  elasticsearch 在docker pull elasticsearch:7.9.3 docker在查询 kibana docker ...

  6. matplotlib的学习16-animation动画

    from matplotlib import pyplot as plt from matplotlib import animation import numpy as np fig, ax = p ...

  7. pycharm的快捷键的使用

    作为未来的程序猿,快捷键对我们来说很重要,因为它方便且快捷,今天就给大家介绍pycharm中常用的快捷键 1.编辑: Ctrl + Space------------------基本的代码完成(类.方 ...

  8. C#发送腾讯企业邮箱

    腾讯企业邮箱客户端配置介绍 http://email-qq.cn/tengxun/201610303793.html?akvezc=smt0n2 POP3/SMTP协议 POP3/SMTP协议: 接收 ...

  9. H3C路由器配置——静态路由

    一.网络畅通条件及排错思路 1.网络畅通的条件 网络畅通的条件:数据包能去能回,也是我们排除网络故障的理论依据. 2.网络不畅通示列 ①.目标主机不可达 原因分析:可能是数据包没有到达目的地,在中途就 ...

  10. 1.自定义view入门

    1.继承自view 系统提供的view 如 TextView .ImageView 都是继承自view的: 2.自定义一个TextView 通过自定义一个TextView 来熟悉继承自view 的自定 ...