Python之控制台版增删改查(电影院信息管理)

目录

1.案例的数据文件:https://github.com/pengyingaxx/python,如下:

2.python中的死循环

3.增加

4.删除

5.修改

6.查看


 该案例,我通过 dict 模拟对象来操作数据

 1.案例的数据文件:https://github.com/pengyingaxx/python,如下:

# 所以电影票信息
movies = [{"id": "1292052", "name": "肖申克的救赎", "rating": 9.7, "inq": "希望让人自由。"},
          {"id": "1291546", "name": "霸王别姬", "rating": 9.6, "inq": "风华绝代。"},
          {"id": "1292720", "name": "阿甘正传", "rating": 9.5, "inq": "一部美国近现代史。"},
          {"id": "1295644", "name": "这个杀手不太冷", "rating": 9.4, "inq": "怪蜀黍和小萝莉不得不说的故事。"},
          {"id": "1292722", "name": "泰坦尼克号", "rating": 9.4, "inq": "失去的才是永恒的。"},
          {"id": "1292063", "name": "美丽人生", "rating": 9.6, "inq": "最美的谎言。"},
          {"id": "1291561", "name": "千与千寻", "rating": 9.4, "inq": "最好的宫崎骏,最好的久石让。"},
          {"id": "1295124", "name": "辛德勒的名单", "rating": 9.5, "inq": "拯救一个人,就是拯救整个世界。"},
          {"id": "3541415", "name": "盗梦空间", "rating": 9.3, "inq": "诺兰给了我们一场无法盗取的梦。"},
          {"id": "3011091", "name": "忠犬八公的故事", "rating": 9.4, "inq": "永远都不能忘记你所爱的人。"},
          {"id": "1889243", "name": "星际穿越", "rating": 9.3, "inq": "爱是一种力量,让我们超越时空感知它的存在。"},
          {"id": "1292064", "name": "楚门的世界", "rating": 9.3, "inq": "如果再也不能见到你,祝你早安,午安,晚安。"},
          {"id": "1292001", "name": "海上钢琴师", "rating": 9.3, "inq": "每个人都要走一条自己坚定了的路,就算是粉身碎骨。"},
          {"id": "3793023", "name": "三傻大闹宝莱坞", "rating": 9.2, "inq": "英俊版憨豆,高情商版谢耳朵。"},
          {"id": "2131459", "name": "机器人总动员", "rating": 9.3, "inq": "小瓦力,大人生。"},
          {"id": "1291549", "name": "放牛班的春天", "rating": 9.3, "inq": "天籁一般的童声,是最接近上帝的存在。"},
          {"id": "1307914", "name": "无间道", "rating": 9.3, "inq": "香港电影史上永不过时的杰作。"},
          {"id": "25662329", "name": "疯狂动物城", "rating": 9.2, "inq": "迪士尼给我们营造的乌托邦就是这样,永远善良勇敢,永远出乎意料。"},
          {"id": "1292213", "name": "大话西游之大圣娶亲", "rating": 9.2, "inq": "一生所爱。"},
          {"id": "5912992", "name": "熔炉", "rating": 9.3, "inq": "我们一路奋战不是为了改变世界,而是为了不让世界改变我们。"},
          {"id": "1291841", "name": "教父", "rating": 9.3, "inq": "千万不要记恨你的对手,这样会让你失去理智。"},
          {"id": "1849031", "name": "当幸福来敲门", "rating": 9.1, "inq": "平民励志片。"},
          {"id": "1291560", "name": "龙猫", "rating": 9.2, "inq": "人人心中都有个龙猫,童年就永远不会消失。"},
          {"id": "1296141", "name": "控方证人", "rating": 9.6, "inq": "比利·怀德满分作品。"},
          {"id": "3319755", "name": "怦然心动", "rating": 9.1, "inq": "真正的幸福是来自内心深处。"},
          {"id": "6786002", "name": "触不可及", "rating": 9.3, "inq": "满满温情的高雅喜剧。"},
          {"id": "1293172", "name": "末代皇帝", "rating": 9.3, "inq": "“不要跟我比惨,我比你更惨”再适合这部电影不过了。"},
          {"id": "1851857", "name": "蝙蝠侠:黑暗骑士", "rating": 9.2, "inq": "无尽的黑暗。"},
          {"id": "20495023", "name": "寻梦环游记", "rating": 9.1, "inq": "死亡不是真的逝去,遗忘才是永恒的消亡。"},
          {"id": "1292365", "name": "活着", "rating": 9.3, "inq": "张艺谋最好的电影。"},
          {"id": "1291552", "name": "指环王3:王者无敌", "rating": 9.3, "inq": "史诗的终章。"},
          {"id": "1295038", "name": "哈利·波特与魔法石", "rating": 9.1, "inq": "童话世界的开端。"},
          {"id": "1300267", "name": "乱世佳人", "rating": 9.3, "inq": "Tomorrow is another day."},
          {"id": "30170448", "name": "何以为家", "rating": 9.1, "inq": "凝视卑弱生命,用电影改变命运。"},
          {"id": "21937452", "name": "素媛", "rating": 9.3, "inq": "受过伤害的人总是笑得最开心,因为他们不愿意让身边的人承受一样的痛苦。"},
          {"id": "2129039", "name": "飞屋环游记", "rating": 9.1, "inq": "最后那些最无聊的事情,才是最值得怀念的。"},
          {"id": "26387939", "name": "摔跤吧!爸爸", "rating": 9.0, "inq": "你不是在为你一个人战斗,你要让千千万万的女性看到女生并不是只能相夫教子。"},
          {"id": "1293182", "name": "十二怒汉", "rating": 9.4, "inq": "1957年的理想主义。"},
          {"id": "1308807", "name": "哈尔的移动城堡", "rating": 9.1, "inq": "带着心爱的人在天空飞翔。"},
          {"id": "1929463", "name": "少年派的奇幻漂流", "rating": 9.1, "inq": "瑰丽壮观、无人能及的冒险之旅。"},
          {"id": "26752088", "name": "我不是药神", "rating": 9.0, "inq": "对我们国家而言,这样的电影多一部是一部。"},
          {"id": "1291858", "name": "鬼子来了", "rating": 9.3, "inq": "对敌人的仁慈,就是对自己残忍。"},
          {"id": "1299398", "name": "大话西游之月光宝盒", "rating": 9.0, "inq": "旷古烁今。"},
          {"id": "1291583", "name": "天空之城", "rating": 9.1, "inq": "对天空的追逐,永不停止。"},
          {"id": "1291828", "name": "天堂电影院", "rating": 9.2, "inq": "那些吻戏,那些青春,都在影院的黑暗里被泪水冲刷得无比清晰。"},
          {"id": "1305487", "name": "猫鼠游戏", "rating": 9.1, "inq": "骗子大师和执著警探的你追我跑故事。"},
          {"id": "1298624", "name": "闻香识女人", "rating": 9.1, "inq": "史上最美的探戈。"},
          {"id": "1291572", "name": "指环王2:双塔奇兵", "rating": 9.2, "inq": "承前启后的史诗篇章。"},
          {"id": "1293839", "name": "罗马假日", "rating": 9.1, "inq": "爱情哪怕只有一天。"},
          {"id": "1296736", "name": "钢琴家", "rating": 9.2, "inq": "音乐能化解仇恨。"},
          {"id": "1291571", "name": "指环王1:护戒使者", "rating": 9.1, "inq": "传说的开始。"},
          {"id": "21937445", "name": "辩护人", "rating": 9.2, "inq": "电影的现实意义大过电影本身。"},
          {"id": "3742360", "name": "让子弹飞", "rating": 8.9, "inq": "你给我翻译翻译,神马叫做TMD的惊喜。"},
          {"id": "1418019", "name": "大闹天宫", "rating": 9.4, "inq": "经典之作,历久弥新。"},
          {"id": "1299131", "name": "教父2", "rating": 9.2, "inq": "优雅的孤独。"},
          {"id": "1301753", "name": "狮子王", "rating": 9.1, "inq": "动物版《哈姆雷特》。"},
          {"id": "1291548", "name": "死亡诗社", "rating": 9.1, "inq": "当一个死水般的体制内出现一个活跃的变数时,所有的腐臭都站在了光明的对面。"},
          {"id": "1291843", "name": "黑客帝国", "rating": 9.1, "inq": "视觉革命。"},
          {"id": "1292000", "name": "搏击俱乐部", "rating": 9.0, "inq": "邪恶与平庸蛰伏于同一个母体,在特定的时间互相对峙。"},
          {"id": "25958717", "name": "海蒂和爷爷", "rating": 9.2, "inq": "如果生活中有什么使你感到快乐,那就去做吧!不要管别人说什么。"},
          {"id": "27060077", "name": "绿皮书", "rating": 8.9, "inq": "去除成见,需要勇气。"},
          {"id": "1291818", "name": "饮食男女", "rating": 9.1, "inq": "人生不能像做菜,把所有的料都准备好了才下锅。"},
          {"id": "1306029", "name": "美丽心灵", "rating": 9.0, "inq": "爱是一切逻辑和原由。"},
          {"id": "1900841", "name": "窃听风暴", "rating": 9.2, "inq": "别样人生。"},
          {"id": "1485260", "name": "本杰明·巴顿奇事", "rating": 8.9, "inq": "在时间之河里感受溺水之苦。"},
          {"id": "1293350", "name": "两杆大烟枪", "rating": 9.1, "inq": "4个臭皮匠顶个诸葛亮,盖·里奇果然不是盖的。"},
          {"id": "1292220", "name": "情书", "rating": 8.9, "inq": "暗恋的极致。"},
          {"id": "3008247", "name": "穿条纹睡衣的男孩", "rating": 9.1, "inq": "尽管有些不切实际的幻想,这部电影依旧是一部感人肺腑的佳作。"},
          {"id": "1292402", "name": "西西里的美丽传说", "rating": 8.9, "inq": "美丽无罪。"},
          {"id": "26580232", "name": "看不见的客人", "rating": 8.8, "inq": "你以为你以为的就是你以为的。"},
          {"id": "1292224", "name": "飞越疯人院", "rating": 9.1, "inq": "自由万岁。"},
          {"id": "1292849", "name": "拯救大兵瑞恩", "rating": 9.0, "inq": "美利坚精神输出大片No1."},
          {"id": "1294408", "name": "音乐之声", "rating": 9.1, "inq": "用音乐化解仇恨,让歌声串起美好。"},
          {"id": "1303021", "name": "小鞋子", "rating": 9.2, "inq": "奔跑的孩子是天使。"},
          {"id": "1652587", "name": "阿凡达", "rating": 8.8, "inq": "绝对意义上的美轮美奂。"},
          {"id": "3442220", "name": "海豚湾", "rating": 9.3, "inq": "海豚的微笑,是世界上最高明的伪装。"},
          {"id": "1780330", "name": "致命魔术", "rating": 8.9, "inq": "孪生蝙蝠侠大战克隆金刚狼。"},
          {"id": "1293544", "name": "沉默的羔羊", "rating": 8.9, "inq": "安东尼·霍普金斯的顶级表演。"},
          {"id": "1292262", "name": "美国往事", "rating": 9.2, "inq": "往事如烟,无处祭奠。"},
          {"id": "3011235", "name": "哈利·波特与死亡圣器(下)", "rating": 8.9, "inq": "10年的完美句点。"},
          {"id": "2334904", "name": "禁闭岛", "rating": 8.8, "inq": "昔日翩翩少年,今日大腹便便。"},
          {"id": "1292343", "name": "蝴蝶效应", "rating": 8.8, "inq": "人的命运被自己瞬间的抉择改变。"},
          {"id": "11525673", "name": "布达佩斯大饭店", "rating": 8.9, "inq": "小清新的故事里注入了大历史的情怀。"},
          {"id": "1292656", "name": "心灵捕手", "rating": 8.9, "inq": "人生中应该拥有这样的一段豁然开朗。"},
          {"id": "1291832", "name": "低俗小说", "rating": 8.9, "inq": "故事的高级讲法。"},
          {"id": "1292679", "name": "春光乍泄", "rating": 9.0, "inq": "爱情纠缠,男女一致。"},
          {"id": "1292223", "name": "七宗罪", "rating": 8.8, "inq": "警察抓小偷,老鼠玩死猫。"},
          {"id": "1294371", "name": "摩登时代", "rating": 9.3, "inq": "大时代中的人生,小人物的悲喜。"},
          {"id": "1302425", "name": "喜剧之王", "rating": 8.8, "inq": "我是一个演员。"},
          {"id": "1297192", "name": "致命ID", "rating": 8.8, "inq": "最不可能的那个人永远是最可能的。"},
          {"id": "1787291", "name": "被嫌弃的松子的一生", "rating": 8.9, "inq": "以戏谑来戏谑戏谑。"},
          {"id": "1300299", "name": "杀人回忆", "rating": 8.9, "inq": "关于连环杀人悬案的集体回忆。"},
          {"id": "1298070", "name": "加勒比海盗", "rating": 8.8, "inq": "约翰尼·德普的独角戏。"},
          {"id": "1292370", "name": "剪刀手爱德华", "rating": 8.7, "inq": "浪漫忧郁的成人童话。"},
          {"id": "1865703", "name": "红辣椒", "rating": 9.0, "inq": "梦的勾结。"},
          {"id": "6985810", "name": "狩猎", "rating": 9.1, "inq": "人言可畏。"},
          {"id": "26799731", "name": "请以你的名字呼唤我", "rating": 8.9, "inq": "沉醉在电影的情感和视听氛围中无法自拔。"},
          {"id": "1294639", "name": "勇敢的心", "rating": 8.9, "inq": "史诗大片的典范。"},
          {"id": "10777687", "name": "7号房的礼物", "rating": 8.9, "inq": "《我是山姆》的《美丽人生》。"},
          {"id": "1418834", "name": "断背山", "rating": 8.8, "inq": "每个人心中都有一座断背山。"},
          {"id": "1291543", "name": "功夫", "rating": 8.7, "inq": "警恶惩奸,维护世界和平这个任务就交给你了,好吗?"},
          {"id": "5322596", "name": "超脱", "rating": 8.9, "inq": "穷尽一生,我们要学会的,不过是彼此拥抱。"},
          {"id": "1292215", "name": "天使爱美丽", "rating": 8.7, "inq": "法式小清新。"},
          {"id": "1291544", "name": "哈利·波特与阿兹卡班的囚徒", "rating": 8.8, "inq": "不一样的导演,不一样的哈利·波特。"},
          {"id": "1297630", "name": "第六感", "rating": 8.9, "inq": "深入内心的恐怖,出人意料的结局。"},
          {"id": "1297359", "name": "幽灵公主", "rating": 8.9, "inq": "人与自然的战争史诗。"},
          {"id": "1306249", "name": "唐伯虎点秋香", "rating": 8.7, "inq": "华太师是黄霑,吴镇宇四大才子之一。"},
          {"id": "1291999", "name": "重庆森林", "rating": 8.8, "inq": "寂寞没有期限。"},
          {"id": "25814705", "name": "小森林 夏秋篇", "rating": 9.0, "inq": "那些静得只能听见呼吸的日子里,你明白孤独即生活。"},
          {"id": "1291875", "name": "阳光灿烂的日子", "rating": 8.8, "inq": "一场华丽的意淫。"},
          {"id": "1296339", "name": "爱在黎明破晓前", "rating": 8.8, "inq": "缘分是个连绵词,最美不过一瞬。"},
          {"id": "1292434", "name": "一一", "rating": 9.1, "inq": "我们都曾经是一一。"},
          {"id": "3395373", "name": "蝙蝠侠:黑暗骑士崛起", "rating": 8.8, "inq": "诺兰就是保证。"},
          {"id": "1293359", "name": "菊次郎的夏天", "rating": 8.8, "inq": "从没见过那么流氓的温柔,从没见过那么温柔的流氓。"},
          {"id": "21318488", "name": "消失的爱人", "rating": 8.7, "inq": "年度最佳date movie。"},
          {"id": "2149806", "name": "入殓师", "rating": 8.9, "inq": "死可能是一道门,逝去并不是终结,而是超越,走向下一程。"},
          {"id": "1292337", "name": "无人知晓", "rating": 9.1, "inq": "我的平常生活就是他人的幸福。"},
          {"id": "11026735", "name": "超能陆战队", "rating": 8.7, "inq": "Balalaika~~~"},
          {"id": "25814707", "name": "小森林 冬春篇", "rating": 9.0, "inq": "尊敬他人,尊敬你生活的这片土地,明白孤独是人生的常态。"},
          {"id": "1296996", "name": "哈利·波特与密室", "rating": 8.8, "inq": "魔法的密室之门已打开..."},
          {"id": "1300992", "name": "完美的世界", "rating": 9.1, "inq": "坏人的好总是比好人的好来得更感人。"},
          {"id": "1297447", "name": "倩女幽魂", "rating": 8.7, "inq": "两张绝世的脸。"},
          {"id": "1297052", "name": "侧耳倾听", "rating": 8.9, "inq": "少女情怀总是诗。"},
          {"id": "1291990", "name": "爱在日落黄昏时", "rating": 8.9, "inq": "九年后的重逢是世俗和责任的交叠,没了悸动和青涩,沧桑而温暖。"},
          {"id": "4202302", "name": "借东西的小人阿莉埃蒂", "rating": 8.9, "inq": "曾经的那段美好会沉淀为一辈子的记忆。"},
          {"id": "1305164", "name": "甜蜜蜜", "rating": 8.9, "inq": "相逢只要一瞬间,等待却像是一辈子。"},
          {"id": "5989818", "name": "萤火之森", "rating": 8.9, "inq": "触不到的恋人。"},
          {"id": "2353023", "name": "驯龙高手", "rating": 8.7, "inq": "和谐的生活离不开摸头与被摸头。"},
          {"id": "1292274", "name": "幸福终点站", "rating": 8.8, "inq": "有时候幸福需要等一等。"},
          {"id": "3072124", "name": "玛丽和马克思", "rating": 8.9, "inq": "你是我最好的朋友,你是我唯一的朋友 。"},
          {"id": "10577869", "name": "时空恋旅人", "rating": 8.8, "inq": "把每天当作最后一天般珍惜度过,积极拥抱生活,就是幸福。"},
          {"id": "1291545", "name": "大鱼", "rating": 8.8, "inq": "抱着梦想而活着的人是幸福的,怀抱梦想而死去的人是不朽的。"},
          {"id": "4268598", "name": "告白", "rating": 8.8, "inq": "没有一人完全善,也没有一人完全恶。"},
          {"id": "4917726", "name": "阳光姐妹淘", "rating": 8.8, "inq": "再多各自牛逼的时光,也比不上一起傻逼的岁月。"},
          {"id": "1291579", "name": "怪兽电力公司", "rating": 8.7, "inq": "不要给它起名字,起了名字就有感情了。"},
          {"id": "1316510", "name": "射雕英雄传之东成西就", "rating": 8.7, "inq": "百看不厌。"},
          {"id": "3287562", "name": "神偷奶爸", "rating": 8.6, "inq": "Mr. I Don't Care其实也有Care的时候。"},
          {"id": "1418200", "name": "傲慢与偏见", "rating": 8.7, "inq": "爱是摈弃傲慢与偏见之后的曙光。"},
          {"id": "1294240", "name": "教父3", "rating": 9.0, "inq": "任何信念的力量,都无法改变命运。"},
          {"id": "21360417", "name": "恐怖直播", "rating": 8.7, "inq": "恐怖分子的“秋菊打官司”。"},
          {"id": "1858711", "name": "玩具总动员3", "rating": 8.9, "inq": "跨度十五年的欢乐与泪水。"},
          {"id": "25986180", "name": "釜山行", "rating": 8.6, "inq": "揭露人性的丧尸题材力作。"},
          {"id": "26628357", "name": "一个叫欧维的男人决定去死", "rating": 8.9, "inq": "惠及一生的美丽。"},
          {"id": "1307315", "name": "哪吒闹海", "rating": 9.1, "inq": "想你时你在闹海。"},
          {"id": "26325320", "name": "血战钢锯岭", "rating": 8.7, "inq": "优秀的战争片不会美化战场,不会粉饰死亡,不会矮化敌人,不会无视常识,最重要的,不会宣扬战争。"},
          {"id": "6307447", "name": "被解救的姜戈", "rating": 8.8, "inq": "热血沸腾,那个低俗、性感的无耻混蛋又来了。"},
          {"id": "1395091", "name": "未麻的部屋", "rating": 9.0, "inq": "好的剧本是,就算你猜到了结局也猜不到全部。"},
          {"id": "4920389", "name": "头号玩家", "rating": 8.7, "inq": "写给影迷,动漫迷和游戏迷的一封情书。"},
          {"id": "1295399", "name": "七武士", "rating": 9.3, "inq": "时代悲歌。"},
          {"id": "1306861", "name": "我是山姆", "rating": 9.0, "inq": "爱并不需要智商 。"},
          {"id": "1303037", "name": "喜宴", "rating": 8.9, "inq": "中国家庭的喜怒哀乐忍。"}]



def list():
    print("*"*40)
    print("请输入你的选择:")
    print("1.增加 2.删除 3.查看 4.修改 5.退出")

2.python中的死循环

# python中的死循环
while True:
    list()
    i = int(input("请输入:"))
    if i == 1:
        add()
    if i == 2:
        delete()
    if i == 3:
        query()
    if i == 4:
        update()
    if i == 5:
        break
    else:
        print("请输入有效操作!")

3.增加

# 增加
def add():
    # global movies
    # movies=[]
    id = input("请输入编号")
    name = input("请输入名称")
    rating = float(input("请输入评分"))
    inq = input("请输入简介")
    for i in movies:
        if i["id"]==id:
            print("该编号已经存在")
            break
    else:
        movies.append({
            "id": id, "name": name, "rating": rating, "inq": inq
        })

4.删除

# 删除
def delete():
    id = input("请输入编号:")
    for i in movies:
        if i["id"]==id:
            # list remove
            movies.remove(i)
            print("删除成功!")
            break
    else:
        print("没有该电影!")

5.修改

# 修改
def update():
    id = input("请输入你要修改电影的编号:")
    for i in movies:
        if i["id"]==id:
            # 这里特别注意,一定是在你输入存在编号下的i中的属性进行修改
            i['name'] = input("请输入修改后的名称:")
            i['rating'] = float(input("请输入修改后的评分:"))
            i['inq'] = input("请输入修改后的简介:")
            # movies = {"id": id, "name": name, "rating": rating, "inq": inq}
            # 先删除原有的 i,在追加新 i[不推荐]
            print("修改成功!")
            break
    else:
        print("没有该电影!")

6.查看

# 切片  names[?:?:?]
# 第一个? 起始位置
# 第二个? 结束位置
# 第三个? 步长  相当于limit 0,10

# lambda表达式可参考我前几篇博客简单了解

# 查询
def query():
    print("请输入选择: 1.查看top10 2.查看top-10 3.区间查询")
    i = int(input("请输入:"))
    # 排序
    movies.sort(key=lambda x: x["rating"], reverse=True)
    ms:list  # 声明了一个变量ms 他的类型应该是list
    if i == 1:
        ms=movies[:10]
    if i == 2:
        ms=movies[-1:-11:-1]
    if i == 3:
        a = int(input("从多少开始:"))
        b = int(input("到多少结束:"))
        ms=movies[a:b+1]
    for m in ms:
        print(m)

 今天的学习记录就到这了,拜拜!

说明:学习记录,若有错误,欢迎指正,若有疑问,欢迎评论

猜你喜欢

转载自blog.csdn.net/qq_52445443/article/details/122760775