Python订票系统这才是看电影选座的正确方法,原来我们都上当了

PS:“天上的每一颗星,都是爱过我们的人。”

不要太过惋惜亲人的离去,因为早晚有一天我们会在天上重逢。

在人间活着的日子,我们都有一个归期,而那些逝去的人,会希望我们好好地活下去。

——【人生大事】

我爱这离合悲欢,爱这烟火人间,电影《人生大事》将于6月24日上映。

很多人期待的电影点映不知道有人去看了没?小编刚好卡点去了第一场,这是一部笑着笑着就哭了的电影。之后要看的小伙伴儿记得带点儿纸巾哈。

今天小编就教大家写一款电影院选票系统给大家。

一、准备中

1)环境安装

本文是基于tkinter的界面化小程序!初级版本写的一个简单的选票系统哈。

小编使用的环境:Python3、Pycharm社区版、tkinter、turtle、Pillow模块,部分自带模块不展示。

模块安装:pip install -i https://pypi.douban.com/simple/+模块名

2)素材准备

电影院座位是用Turtle绘制完成的。电影院的购票界面是Tkinter写的。

座位背景

 界面电影选项素材(自选:小编随便找的几部截图的哈)话说下面的我还看过几部呢~

二、代码展示

1)制作选票系统界面、按钮等等。

import tkinter as tkfrom PIL import Imagefrom PIL import ImageTkimport turtlefrom tkinter import messageboxfrom cinemaclass import Movie as Mdef mainGui(x, y, z):
    image = Image.open(x)
    photo = ImageTk.PhotoImage(image)
    label = tk.Label(image=photo, width=300, height=300)
    label.image = photo
    label.place(relx=y, rely=z)


window = tk.Tk()

moives = []
lst = []for i in range(1, 9):
    moives.append(M(str(i)))def xuanpiao(x):
    global window, moives

    window1 = tk.Tk()
    window1.geometry('1330x700')
    click = ()    def callback(event):
        # print("clicked at:", event.x, event.y)  # 打印出该事件(按下鼠标)的x,y轴
        # 打印出该事件(按下鼠标)的x,y轴
        s = (event.x, event.y)  # 把它写到一个元组里
        x, y = s        if (160 <= x <= 760) and (100 <= y <= 550):            global click, lst
            row = int((x - 160) / 60)
            col = int((y - 100) / 45)
            click = (col + 1, row + 1)

            print(lst)            if movie.isbook(col + 1, row 
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了实现Python电影系统,我们需要完成以下几个步骤: 1. 安装Python和相关依赖,如MySQL客户端、Python-MySQL库和Redis服务器等。 2. 创建一个MySQL数据库,用于存储电影信息和用户单信息等。 3. 编写Python脚本,实现电影择和功能。可以使用Python的MySQL库连接到MySQL数据库,查询电影信息和用户单信息,并根据用户输入进行相应的操作。 4. 将Python脚本部署到服务器上,并启动Redis服务器,以便在多个客户端之间共享电影信息和用户单信息。 下面是一个简单的Python电影系统的示例代码: ```python import MySQLdb import redis # 连接MySQL数据库 db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="movies") # 连接Redis服务器 r = redis.Redis(host='localhost', port=6379, db=0) # 查询电影信息 def get_movies(): cursor = db.cursor() cursor.execute("SELECT * FROM movies") movies = cursor.fetchall() return movies # 查询单信息 def get_orders(): cursor = db.cursor() cursor.execute("SELECT * FROM orders") orders = cursor.fetchall() return orders # 显示电影列表 def show_movies(): movies = get_movies() for movie in movies: print(movie[0], movie[1], movie[2]) # 显示单列表 def show_orders(): orders = get_orders() for order in orders: print(order[0], order[1], order[2], order[3]) # 电影 def select_movie(): while True: show_movies() choice = input("请电影序号或输入x退出:") if choice == 'x': break else: movie_id = int(choice) movie = get_movie(movie_id) if movie: print("您择了电影:", movie[1]) select_seat(movie_id) else: print("无效的电影序号,请重新择。") # 择座位 def select_seat(movie_id): while True: seats = r.lrange("movie:%d:seats" % movie_id, 0, -1) print("可用座位:", seats) choice = input("请择座位号或输入x返回:") if choice == 'x': break else: seat = choice if r.lrem("movie:%d:seats" % movie_id, 1, seat): print("您择了座位:", seat) confirm_order(movie_id, seat) break else: print("无效的座位号,请重新择。") # 确认单 def confirm_order(movie_id, seat): cursor = db.cursor() cursor.execute("INSERT INTO orders (movie_id, seat) VALUES (%s, %s)", (movie_id, seat)) db.commit() print("单已确认。") # 启动程序 if __name__ == '__main__': select_movie() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值