使用普通方法

menu = '''
请输入您的操作:
1. 查询所有电影,请按1;
2. 添加一个电影,请按2;
3. 根据指定序号删除一个电影,请按3;
4. 根据电影名删除一个电影,请按4;
5. 退出系统,请按其它键。
'''
movies = [
    {"name": "蚁人1:黄蜂女现身", "category": "科幻", "date": "2018"},
    {"name": "蚁人2:黄蜂女现身", "category": "科幻", "date": "2018"},
    {"name": "蚁人3:黄蜂女现身", "category": "科幻", "date": "2018"}
]
while True:
    c=input(menu)
    if c=="1":
        print("序号\t\t\t电影名称\t\t\t类别\t\t\t年代")
        for i,movie in enumerate(movies):
            # print("{0}\t\t\t{1}\t\t\t{2}\t\t\t{3}".format(i + 1, movie['name'], movie['category'], movie['date']))
            print("{0}\t{1}\t\t{2}\t\t\t{3}".format(i+1,movie['name'],movie['category'],movie['date']))
    elif c=="2":
        name = input("请输入电影名称:")
        category=input("请输入电影类别:")
        date=input("请输入年代:")
        movie={'name':name,'category':category,'date':date}
        movies.append(movie)
    elif c=="3":
        print("序号\t\t\t电影名称\t\t\t类别\t\t\t年代")
        for i, movie in enumerate(movies):
            print("{0}\t{1}\t\t{2}\t\t\t{3}".format(i + 1, movie['name'], movie['category'], movie['date']))
        number=int(input("请删除指定的序号:"))
        movies.pop(number-1)
        print("序号\t\t\t电影名称\t\t\t类别\t\t\t年代")
        for i,movie in enumerate(movies):
            # print("{0}\t\t\t{1}\t\t\t{2}\t\t\t{3}".format(i + 1, movie['name'], movie['category'], movie['date']))
            print("{0}\t{1}\t\t{2}\t\t\t{3}".format(i+1,movie['name'],movie['category'],movie['date']))
    elif c=="4":
        name=input("请输入要删除的电影名:")
        for movie in movies:
            # print(movie)
            if name in movie['name']:
                movies.remove(movie)
                print("序号\t\t\t电影名称\t\t\t类别\t\t\t年代")
                for i, movie in enumerate(movies):
                    print("{0}\t{1}\t\t{2}\t\t\t{3}".format(i + 1, movie['name'], movie['category'], movie['date']))
#

使用函数

# 查询方法
def select():
    #使用字典保存每条电影对象,将电影名称 电影类型和电影年代作为键,然后使用列表保存每个装载电影对象的字典
    print("电影名称\t电影类型\t年代")
    #使用for循环遍历列表,得到每个字典对象,也就是每部电影信息(可以加上序号
    for i,movie in enumerate(movies):
    #然后通过键获取字典中每个属性的值
        print("{0}\t{1}\t{2}\t{3}".format(i+1,movie['name'],movie['category'],movie['date']))

# select()
# 添加方法
def add():
    global movies
    name=input("请添加电影名称:")
    category=input("请添加电影类型:")
    date=input("请添加年代:")
    movie={'name':name,'category':category,'date':date}
    movies.append(movie)
    select()
# add()

#删除方法(序号)
def count_del():
    select()
    numbers=int(input("请输入需要删除的序号:"))
    movies.pop(numbers-1)
    print("当前电影有:")
    select()
# count_del()

#删除电影(电影名)
def del_movie():
    select()
    name=input("请输入需要删除的电影名:")
    i=0
    while i <= len(movies)-1:
        if name in movies[i]['name']:
            movies.remove(movies[i])
        i=i+1
    # for movie in movies:
    #     if name in movie['name']:
    #         movies.remove(movie)
    select()
# del_movie()
movies = [{'name': '蜘蛛侠', 'category': '科幻', 'date': '1990'},
          {'name': '猎魔人', 'category': '科幻', 'date': '2000'},
          {'name': '变形金刚', 'category': '科幻', 'date': '2010'}
          ]
menu = '''
请输入您的操作:
1. 查询所有电影,请按1;
2. 添加一个电影,请按2;
3. 根据指定序号删除一个电影,请按3;
4. 根据电影名删除一个电影,请按4;
5. 退出系统,请按其它键。
'''
while True:
    c=input(menu)
    if c=="1":
        select()
    elif c=="2":
        add()
    elif c=="3":
        count_del()
    elif c=="4":
        del_movie()
    else:
        break

使用类

name category date
蜘蛛侠 科幻 1990
猎魔人 科幻 2000
变形金刚 科幻 2010
# 这里采用ORM模型也就是(定义类):
# 表---类
# 对象--数据行
# 属性--字段
# 对数据进行增删改查--函数


movies=[]
class Movies:    #创建movies表
    def __init__(self,name,category,date):    #定义行字段,也就是表头属性
        self.name=name
        self.category=category
        self.date=date

    #设置方法
    #1.查询方法
    def select(self):
        for i,movie in enumerate(movies):
            print("序号\t\t\t电影名称\t\t\t电影类型\t\t\t年代")
            print("{0}\t\t\t{1}\t\t\t{2}\t\t\t{3}".format(i+1,movie['name'],movie['category'],movie['date']))

    def add(self):
        movie={'name':self.name,'category':self.category,'date':self.date}
        movies.append(movie)

    def count_del(self,number):
        self.number=number
        movies.pop(number-1)
    def movie_del(self):
        i=1
        while i<=len(movies)-1:
            if i in movies[i][self.name]:
                movies.remove(movies[i])


M=Movies
M1=Movies('蜘蛛侠','科幻','1990')   #定义字段
M1.add()                            #插入记录
M1.select()                       #查询记录
M.del_count()                       #通过序号删除记录
M.del_movie()                       #通过地域名称删除记录
M2=Movies('猎魔人','科幻','2000')
M2.add()
M3=Movies('变形金刚','科幻','2010')
M3.add()
版权声明:本文为endmoon原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/endmoon/p/9607042.html