基于Python实现电影售票系统

目录
  • 一、系统要求
  • 二、用户信息
  • 三、主要代码
  • 四、效果图展示

一、系统要求

电影售票系统程序,应具备以下几点功能:

1.用户认证

系统用户分为用户、管理员两个角色,系统可根据不同用户角色权限进入不同界面,所有用户角色需要通过身份验证才能登录系统进行操作。

2.用户登录

主要实现用户登录系统可查看本人会员信息、购买影票、查看订票、影票退订、修改信息等功能。

3.管理登录

主要实现管理员登录系统可查看会员和管理信息、添加会员、注销会员、查看购票、影票出售、影票退订、查看影票余票和售票、增删管理、增删影片、修改信息等功能。

二、用户信息

数据信息行较多,如小伙伴需要可点击链接前往进行下载: 博客小程序—电影售票系统数据下载

三、主要代码

1.管理系统 

import json,time,re
from managements import management_login
from users import users_login
from registered import registered
from back import back
read_movie = open('movie.json', 'r', encoding='utf-8')
movie = json.loads(read_movie.read())
read_user = open('user.json', 'r', encoding='utf-8')
user = json.loads(read_user.read())
read_management = open('management.json', 'r', encoding='utf-8')
management = json.loads(read_management.read())
read_ticket_record = open('ticket_record.json', 'r', encoding='utf-8')
ticket_record = json.loads(read_ticket_record.read())

def movie_tickets():
    while True:
        permissions = input('请您选择用户操作(1.用户登录 2.注册用户 3. 找回密码 4.退出系统):')
        if permissions == '1':
            while True:
                login = input('请您选择登录权限(1.个人登录 2.管理登录 3.退出登录):')
                if login == '1':
                    users_login(user, movie, ticket_record)
                elif login == '2':
                    management_login(management, user, movie, ticket_record)
                elif login == '3':
                    break

        elif permissions == '2':
            registered(user)
        elif permissions == '3':
            back(management, user)
        elif permissions == '4':
            break

movie_tickets()

save = open('movie.json', 'w', encoding='utf-8')
json.dump(movie, save, ensure_ascii=False, indent=4)
save = open('user.json', 'w', encoding='utf-8')
json.dump(user, save, ensure_ascii=False, indent=4)
save = open('management.json', 'w', encoding='utf-8')
json.dump(management, save, ensure_ascii=False, indent=4)
save = open('ticket_record.json', 'w', encoding='utf-8')
json.dump(ticket_record, save, ensure_ascii=False, indent=4)

2.管理登录

import  time, re
operation = '''********欢迎使用漫漫影院系统*********
  1.查看信息  2.添加会员  3.注销会员
  4.查看购票  5.影票出售  6.影票退订
  7.查看余票  8.增删管理  9.增删影片
 10.销售记录 11.修改信息 12.退出系统
*********************************'''

def management_login(a, b, c, d):
    account = input('请您输入账号:')
    password = input('请您输入密码:')
    if account in a:
        if a[account][0] == password:
            time.sleep(0.5)
            print('密码正确,登录成功!')
            while True:
                print(operation)
                choose = input('请您选择操作选项:')

                if choose == '1':
                    while True:
                        query = input('请你选择查询选项(1.查询会员 2.查询管理 3.退出查询):')
                        if query == '1':
                            for i in b:
                                time.sleep(0.5)
                                print('会员卡号:{}、会员昵称:{}、会员性别:{}、手机号码:{}'.format
                                      (i, b[i][1], b[i][2], b[i][3]))
                        elif query =='2':
                            for i in a:
                                time.sleep(0.5)
                                print('管理账号:{}、管理昵称:{}、管理性别:{}、手机号码:{}'.format
                                      (i, a[i][1], a[i][2], a[i][3]))
                        elif query == '3':
                            break

                elif choose == '2':
                    while True:
                        add = input('是否需要添加会员(1.需要 2.退出):')
                        if add == '2':
                            break
                        else:
                            name = input('请您输入会员昵称:')
                            gender = input('请您输入会员性别:')
                            phone = input('请您输入手机号码:')
                            password = input('请您输入登录密码:')
                            account = []
                            for i in b:
                                account.append(int(i))
                            account.sort()
                            b[str(account[-1] + 1)] = [password, name, gender, phone]
                            time.sleep(0.5)
                            print('注册成功!')
                            time.sleep(0.5)
                            print('会员卡号:{}、登录密码:{}、会员昵称:{}、会员性别:{}、手机号码:{}'.format
                                  (str(account[-1] + 1), password,  name, gender,phone))

                elif choose == '3':
                    while True:
                        delete = input('是否需要注销会员(1.需要 2.取消):')
                        if delete == '2':
                            break
                        cancel = input('请您输入需要注销会员卡号:')
                        if cancel not in b:
                            print('卡号输入有误!')
                        else:
                            del b[cancel]
                            time.sleep(0.5)
                            print('会员注销成功!')

                elif choose == '4':
                    while True:
                        query = input('请您选择查询操作(1.查询个人 2.查询全部 3.退出查询):')
                        if query == '1':
                            query_personal = input('请您输入需要查询会员卡号:')
                            if query_personal in d:
                                for i in d[query_personal]:
                                    time.sleep(0.5)
                                    print('会员卡号:{}、会员昵称:{}、购票影片:{}、影厅座位:{}'.format
                                          (query_personal, b[query_personal][1], i, ' '.join(d[query_personal][i])))
                            else:
                                print('未查询到购票信息!')
                        elif query == '2':
                            for x in d:
                                for y in d[x]:
                                    if x in b:
                                        time.sleep(0.5)
                                        print('会员卡号:{}、会员昵称:{}、购票影片:{}、影厅座位:{}'.format
                                              (x, b[x][1], y, ' '.join(d[x][y])))
                                    else:
                                        time.sleep(0.5)
                                        print('会员卡号:{}、会员昵称:{}、购票影片:{}、影厅座位:{}'.format
                                              (x, a[x][1], y, ' '.join(d[x][y])))

                        elif query == '3':
                            break

                elif choose == '5':
                    card_number = ''
                    judge = input('是否有会员卡(1.有卡 2.无卡):')
                    if judge == '1':
                        card_number = input('请您输入会员卡号:')
                    elif judge == '2':
                        card_number = account
                    time.sleep(0.5)
                    print('*' * 3 + '电影放映表' + '*' * 3)
                    for x, y in list(enumerate(c, 1)):
                        print(x, y['name'])
                    print('*' * 13)

                    time.sleep(0.5)
                    buy = int(input('请您选择电影场次:'))
                    print('*' * 8 + '电影信息' + '*' * 8)
                    print('影名:{}'.format(c[buy - 1]['name']))
                    print('类别:{}'.format(c[buy - 1]['category']))
                    print('导演:{}'.format(c[buy - 1]['director']))
                    print('演员:{}'.format(c[buy - 1]['actor']))
                    print('*' * 23)

                    while True:
                        time.sleep(0.5)
                        print('*' * 13 + '影厅座位' + '*' * 13)
                        for i in c[buy - 1]['seat']:
                            print('  '.join(i))
                        print('*' * 32)
                        ticket = input('是否继续购票(1.继续 2.退出):')
                        if ticket == '2':
                            break

                        line_numbers = int(input('请您选择影厅行号:'))
                        seat_numbers = int(input('请您选择影厅座号:'))
                        if c[buy - 1]['seat'][line_numbers][seat_numbers] == '■':
                            print('不好意思,座位已选!')
                        else:
                            c[buy - 1]['seat'][line_numbers][seat_numbers] = '■'
                            time.sleep(0.5)
                            print('购票成功,电影名:{} 座位号:{}排{}号'.format
                                  (c[buy - 1]['name'], line_numbers, seat_numbers))

                            if card_number in d and c[buy - 1]['name'] in d[card_number]:
                                d[card_number][c[buy - 1]['name']].append(
                                    '{}排{}号'.format(line_numbers, seat_numbers))
                            elif card_number in d and c[buy - 1]['name'] not in d[card_number]:
                                d[card_number][c[buy - 1]['name']] = [
                                    '{}排{}号'.format(line_numbers, seat_numbers)]
                            else:
                                d[card_number] = {
                                    c[buy - 1]['name']: ['{}排{}号'.format(line_numbers, seat_numbers)]}

                elif choose == '6':
                    while True:
                        unsubscribe = input('是否需要退订影票(1.需要 2.退出):')
                        if unsubscribe == '2':
                            break
                        else:
                            card_number = input('请您输入会员卡号:')
                            for i in d[card_number]:
                                if card_number in b:
                                    time.sleep(0.5)
                                    print('卡号:{} 昵称:{} 影名:{} 座位:{}'.format
                                          (card_number, b[card_number][1], i, ' '.join(d[card_number][i])))
                                else:
                                    time.sleep(0.5)
                                    print('卡号:{} 昵称:{} 影名:{} 座位:{}'.format
                                          (card_number, a[card_number][1], i, ' '.join(d[card_number][i])))
                            name = dict(enumerate(d[card_number], 1))
                            for i in name:
                                print(i, name[i])
                            movie_number = int(input('请您选择需要退票电影序号:'))
                            number = dict(enumerate(d[card_number][name[movie_number]], 1))
                            for i in number:
                                print(i, number[i])
                            seat_number = int(input('请您选择需要退票电影座位:'))
                            message = re.findall(r'\d+', number[seat_number])
                            for i in c:
                                if name[movie_number] == i['name']:
                                    i['seat'][int(message[0])][int(message[1])] = '□'
                            d[card_number][name[movie_number]].remove(number[seat_number])
                            time.sleep(0.5)
                            print('退票成功!')
                            if not d[card_number][name[movie_number]]:
                                del d[card_number][name[movie_number]]

                elif choose == '7':
                    more_ticket = []
                    for x in range(len(c)):
                        number = 0
                        for y in c[x]['seat']:
                            number += y.count('□')
                        more_ticket.append(number)
                        time.sleep(0.5)
                        print('影名:{}-余票:{}张'.format(c[x]['name'], more_ticket[x]))

                elif choose == '8':
                    while True:
                        options = input('请您选择操作选项(1.添加管理 2.删除管理 3.退出系统):')
                        if options == '1':
                            name = input('请您输入管理昵称:')
                            gender = input('请您输入管理性别:')
                            phone = input('请您输入手机号码:')
                            password = input('请您输入登录密码:')
                            account = []
                            for i in a:
                                account.append(int(i))
                            account.sort()
                            a[str(account[-1] + 1)] = [password, name, gender, phone]
                            time.sleep(0.5)
                            print('注册成功!')
                            time.sleep(0.5)
                            print('管理账号:{}、登录密码:{}、管理昵称:{}、管理性别:{}、手机号码:{}'.format
                                  (str(account[-1] + 1), password, name, gender, phone))
                        elif options == '2':
                            while True:
                                delete = input('是否继续删除管理员(1.继续 2.退出):')
                                if delete == '2':
                                    break
                                else:
                                    card = input('请您输入删除管理员卡号:')
                                    del a[card]
                                    time.sleep(0.5)
                                    print('删除成功!')
                        elif options == '3':
                            break

                elif choose == '9':
                    while True:
                        options = input('请您选择操作选项(1.添加影片 2.删除影片 3.退出系统):')
                        if options == '1':
                            name = input('请您输入影名:')
                            category = input('请您输入类别:')
                            director = input('请您输入导演:')
                            actor = input('请您输入演员:')
                            seat = [[' ', '1', '2', '3', '4', '5', '6', '7', '8', '9', ' '],
                                    ['1', '□', '□', '□', '□', '□', '□', '□', '□', '□', '1'],
                                    ['2', '□', '□', '□', '□', '□', '□', '□', '□', '□', '2'],
                                    ['3', '□', '□', '□', '□', '□', '□', '□', '□', '□', '3'],
                                    ['4', '□', '□', '□', '□', '□', '□', '□', '□', '□', '4'],
                                    ['5', '□', '□', '□', '□', '□', '□', '□', '□', '□', '5'],
                                    ['6', '□', '□', '□', '□', '□', '□', '□', '□', '□', '6'],
                                    [' ', '1', '2', '3', '4', '5', '6', '7', '8', '9', ' ']]
                            c.append({'name': name, 'category': category, 'director': director, 'actor': actor,
                                      'seat': seat})
                            time.sleep(0.5)
                            print('添加影片成功!')
                        elif options == '2':
                            for x, y in list(enumerate(c, 1)):
                                print(x, y['name'])
                            delete = int(input('请您选择需要删除影片序号:'))
                            c.pop(delete - 1)
                            time.sleep(0.5)
                            print('影片删除成功!')
                        elif options == '3':
                            break

                elif choose == '10':
                    sales_ticket = []
                    for x in range(len(c)):
                        number = 0
                        for y in c[x]['seat']:
                            number += y.count('■')
                        sales_ticket.append(number)
                        time.sleep(0.5)
                        print('影名:{}-售出:{}张'.format(c[x]['name'], sales_ticket[x]))
                elif choose == '11':
                    print('管理卡号:{}、管理昵称:{}、管理性别:{}、手机号码:{}'.format
                          (account, a[account][1], a[account][2], a[account][3]))
                    while True:
                        continues = input('是否需要修改信息(1.需要 2.退出)')
                        if continues == '2':
                            break
                        else:
                            modify = input('请您选择修改选项(1.管理昵称 2.管理性别 3.手机号码):')
                            if modify == '1':
                                a[account][1] = input('请您输入管理昵称:')
                            elif modify == '2':
                                a[account][2] = input('请您输入管理性别:')
                            elif modify == '3':
                                a[account][3] = input('请您输入手机号码:')
                            time.sleep(0.5)
                            print('信息修改成功!')

                elif choose == '12':
                    break
        else:
            print('密码错误,登录失败!')
    else:
        print('账号错误,请您核对!')

3.用户登录

import re, time

def users_login(x, y, z):
    account = input('请您输入账号:')
    password = input('请您输入密码:')
    if account in x:
        if x[account][0] == password:
            time.sleep(0.5)
            print('密码正确,登录成功!')
            while True:
                operation = input('请您选择操作(1.会员信息 2.购买影票 3.购票信息 4.影票退订 5.修改信息 6.退出系统):')

                if operation == '1':
                    time.sleep(0.5)
                    print('*' * 7 + '会员信息' + '*' * 7)
                    print('会员卡号:{}'.format(account))
                    print('会员昵称:{}'.format(x[account][1]))
                    print('会员性别:{}'.format(x[account][2]))
                    print('手机号码:{}'.format(x[account][3]))
                    print('*' * 21)

                elif operation == '2':
                    time.sleep(0.5)
                    print('*' * 3 + '电影放映表' + '*' * 3)
                    for a, b in list(enumerate(y, 1)):
                        print(a, b['name'])
                    print('*' * 13)

                    buy = int(input('请您选择电影场次:'))
                    time.sleep(0.5)
                    print('*' * 8 + '电影信息' + '*' * 8)
                    print('影名:{}'.format(y[buy - 1]['name']))
                    print('类别:{}'.format(y[buy - 1]['category']))
                    print('导演:{}'.format(y[buy - 1]['director']))
                    print('演员:{}'.format(y[buy - 1]['actor']))
                    print('*' * 23)

                    while True:
                        time.sleep(0.5)
                        print('*' * 13 + '影厅座位' + '*' * 13)
                        for i in y[buy - 1]['seat']:
                            print('  '.join(i))
                        print('*' * 32)
                        choose = input('是否继续购票(1.继续 2.退出):')
                        if choose == '2':
                            break
                        line_numbers = int(input('请您选择影厅行号:'))
                        seat_numbers = int(input('请您选择影厅座号:'))
                        if y[buy - 1]['seat'][line_numbers][seat_numbers] == '■':
                            print('不好意思,座位已选!')
                        else:
                            y[buy - 1]['seat'][line_numbers][seat_numbers] = '■'
                            time.sleep(0.5)
                            print('购票成功,电影名:{} 座位号:{}排{}号'.format(y[buy - 1]['name'], line_numbers, seat_numbers))
                            if account in z and y[buy - 1]['name'] in z[account]:
                                z[account][y[buy - 1]['name']].append(
                                    '{}排{}号'.format(line_numbers, seat_numbers))
                            elif account in z and y[buy - 1]['name'] not in z[account]:
                                z[account][y[buy - 1]['name']] = [
                                    '{}排{}号'.format(line_numbers, seat_numbers)]
                            else:
                                z[account] = {
                                    y[buy - 1]['name']: ['{}排{}号'.format(line_numbers, seat_numbers)]}

                elif operation == '3':
                    if account in z:
                        for i in z[account]:
                            time.sleep(0.5)
                            print('卡号:{} 昵称:{} 影名:{} 座位:{}'.format
                                  (account, x[account][1], i,' '.join(z[account][i])))
                    else:
                        print('未查询到购票信息')
                elif operation == '4':
                    if account in z:
                        for i in z[account]:
                            time.sleep(0.5)
                            print('卡号:{} 昵称:{} 影名:{} 座位:{}'.format(account, x[account][1], i,
                                                                   ' '.join(z[account][i])))
                    print('未查询到订票信息')

                    while True:
                        unsubscribe = input('是否需要退订影票(1.需要 2.退出):')
                        if unsubscribe == '2':
                            break
                        else:
                            name = dict(enumerate(z[account], 1))
                            for i in name:
                                print(i, name[i])
                            movie_number = int(input('请您选择需要退票电影序号:'))
                            number = dict(enumerate(z[account][name[movie_number]], 1))
                            for i in number:
                                print(i, number[i])
                            seat_number = int(input('请您选择需要退票电影座位:'))
                            message = re.findall(r'\d+', number[seat_number])
                            for i in y:
                                if name[movie_number] == i['name']:
                                    i['seat'][int(message[0])][int(message[1])] = '□'
                            z[account][name[movie_number]].remove(number[seat_number])
                            time.sleep(0.5)
                            print('退票成功!')
                            if not z[account][name[movie_number]]:
                                del z[account][name[movie_number]]

                elif operation == '5':
                    time.sleep(0.5)
                    print('*' * 7 + '会员信息' + '*' * 7)
                    print('会员卡号:{}'.format(account))
                    print('会员昵称:{}'.format(x[account][1]))
                    print('会员性别:{}'.format(x[account][2]))
                    print('手机号码:{}'.format(x[account][3]))
                    print('*' * 21)
                    while True:
                        modify = input('是否继续修改(1.继续 2.退出):')
                        if modify == '2':
                            break
                        choose = input('请您选择修改内容(1.会员昵称 2.会员性别 3.手机号码):')
                        if choose == '1':
                            x[account][1] = input('请输入会员昵称:')
                        elif choose == '2':
                            x[account][2] = input('请输入会员性别:')
                        elif choose == '3':
                            x[account][3] = input('请输入手机号码:')

                elif operation == '6':
                    print('系统退出成功,欢迎下次使用!')
                    break
        else:
            print('密码错误,登录失败!')
    else:
        print('账号错误,请您核对!')

4.注册用户

def registered(x):
    name = input('请您输入会员昵称:')
    gender = input('请您输入会员性别:')
    phone = input('请您输入手机号码:')
    password = input('请您输入登录密码:')
    account = []

    for i in x:
        account.append(int(i))
    account.sort()
    x[str(account[-1] + 1)] = [password, name, gender, phone]

    print('注册成功!')
    print('会员卡号:{}、登录密码:{}、会员昵称:{}、会员性别:{}、手机号码:{}'.format
          (str(account[-1] + 1), password, name, gender, phone))

5.找回密码

def back(x, y):
    account = input('请您输入登录账号:')
    if account in x:
        while True:
            need = input('是否需要找回密码(1.需要 2.取消):')
            if need == '2':
                break
            phone = input('请您输入预留手机号码:')
            if phone == x[account][3]:
                x[account][0] = input('请您输入新密码:')
                print('号码正确,修改成功!')
            else:
                print('号码错误,请您核实!')

    elif account in y:
        while True:
            need = input('是否需要找回密码(1.需要 2.取消):')
            if need == '2':
                break
            phone = input('请您输入预留手机号码:')
            if phone == y[account][3]:
                y[account][0] = input('请您输入新密码:')
                print('号码正确,修改成功!')
            else:
                print('号码错误,请您核实!')
    else:
        print('账号错误,请您核对!')

四、效果图展示

以上就是基于Python实现电影售票系统的详细内容,更多关于Python电影售票系统的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python使用面向对象方式创建线程实现12306售票系统

    目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用. 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用. 数据成员:类变量或者实例变量用于

  • 基于Python实现一个简易的数据管理系统

    目录 创建mysql数据表 增删改查 启动应用  为了方便的实现记录数据.修改数据没有精力去做一个完整的系统去管理数据.因此,在python的控制台直接实现一个简易的数据管理系统,包括数据的增删改查等等.只需要在控制台层面调用相应的功能调用查询.修改等功能,这里记录一下实现过程. 创建mysql数据表 使用比较熟悉的数据库客户端来进行操作,这里使用的是navicate客户端来创建好相应的数据表. 创建数据库并指定编码字符集. CREATE DATABASE `data_boc` CHARACTE

  • Python制作基础学生信息管理系统

    目录  一.前言 二.开发环境: 三.涉及知识点 四.接下来我们开始敲代码 第一步:制作学生信息管理系统的界面 第二步:新建学生信息 第三步:显示全部学生信息 第四步:查询学生信息 第五步:修改学生信息 第六步: 删除学生信息 五.最后代码  一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3.8 Pycharm 2021.2 三.涉及知识点 Pyt

  • Python多线程实现模拟火车站售票

    本文实例为大家分享了Python多线程模拟火车站售票的具体代码,供大家参考,具体内容如下 Python的标准库提供了两个模块:thread和threading,thread是低级模块,threading是高级模块,对thread进行了封装. 我们使用threading这个高级模块, 模拟火车站卖票,如果不加锁,卖出同一张票: import threading from time import sleep, ctime N = 100 # 100张票 def Sell(name): global

  • 基于Python创建语音识别控制系统

    下面附上参考文章,这篇文章是通过识别出来的文字来打开浏览器中的默认网站.python通过调用百度api实现语音识别 题目很简单,利用语音识别识别说出来的文字,根据文字的内容来控制图形移动,例如说向上,识别出文字后,画布上的图形就会向上移动.本文使用的是百度识别API(因为免费),自己做的流程图: 不多说,直接开始程序设计,首先登录百度云,创建应用 注意这里的API Key和Secret Key,要用自己的才能生效 百度语音识别有对应的文档,具体调用方法说的很清晰,如果想学习一下可以查看REST

  • 基于Python实现简易的植物识别小系统

    导语 "  花草树木 皆有呈名 热爱自然,从认识自然开始 " 现在的植物爱好者,遇到不认得的植物.怎么办呢? 前几天去逛商场,一进商城一一一一门口的花店吸引了我的注意:摆放在店门口的各色鲜花植物花卉真的特别好看! 忍不住进门逛了一圈,发现我真的不认识,种类太多,对花卉的品种了解颇少. 回来之后找到了2款简单好用的植物识别APP一一一伴侣跟形色蛮好用的! 闲着也是闲着:默默用Python编写了一款简单的植物识别系统给大家正好la~ 正文 1)环境安装 本文用到的环境:Python3.7 

  • 基于Python实现电影售票系统

    目录 一.系统要求 二.用户信息 三.主要代码 四.效果图展示 一.系统要求 电影售票系统程序,应具备以下几点功能: 1.用户认证 系统用户分为用户.管理员两个角色,系统可根据不同用户角色权限进入不同界面,所有用户角色需要通过身份验证才能登录系统进行操作. 2.用户登录 主要实现用户登录系统可查看本人会员信息.购买影票.查看订票.影票退订.修改信息等功能. 3.管理登录 主要实现管理员登录系统可查看会员和管理信息.添加会员.注销会员.查看购票.影票出售.影票退订.查看影票余票和售票.增删管理.增

  • python多线程同步售票系统

    目录 1.分析过程 2.准备过程 3.实现过程 解决问题场景:假如剩余1000张电影票需要售卖,同时有10家电影App来售卖这1000张电影票.主要的逻辑实现过程是什么,要求使用python技术栈进行解题? 1.分析过程 分析:主要信息点是10家App平台同时售卖1000张电影票.此时,可以使用10个python线程来作为10家App平台,同时售卖必须保证电影票数量的同步,比如A平台卖出了一张票那总共剩余的票数是999,B平台若要再卖出一张票则应该是999-1=998张票. 技术栈分析:pyth

  • 基于Python编写一个语音合成系统

    目录 背景 语音合成系统 准备工作 步骤 代码实现 背景 一直对语音合成系统比较感兴趣,总想能给自己合成一点内容,比如说合成小说,把我下载的电子书播报给我听等等. 语音合成系统 其实就是一个基于语音合成的工具,但是这个东西由于很多厂家都提供了API的形式,因此开发难度大大降低,只需要调用几个API即可实现属于自己的语音合成工具:麻雀虽小,五脏俱全.往大了说,这就是一个小型的语音合成系统. 准备工作 首先我们电脑上需要安装 Anaconda Python 3.7 visual studio cod

  • 基于Python实现随机点名系统的示例代码

    目录 效果展示 代码展示 导入模块 子线程调用 应用初始化信息 姓名信息布局 开始信息布局 数据信息布局 整体布局 运行 大家好,我是了不起! 在某些难以抉择得时候,我们经常要用外力来帮助我们做出选择 比如,梁山出征方腊前沙场点兵,挑选先锋的场景 这个时候,有一个随机点名系统就非常好啦,毕竟我水泊梁山的名号~ 效果展示 创建一个这样的文件夹,然后把要随机点名的名字写在里面 导入后,这里就显示你导入了多少人员信息 点击开始点名后,会随机从导入名字里挑选一位幸运儿~ 效果大概就是这样,下面我们来看看

  • 基于python实现垂直爬虫系统的方法详解

    html_downloader from urllib import request def download(url): if url is None: return response = request.urlopen(url) if response.getcode() != 200: return None return response.read() html_outeputer data_list = [] def collect_data(data): data_list.appe

  • 基于java springboot + mybatis实现电影售票管理系统

    目录 主要功能实现 前端主要功能实现 后台主要功能实现 主要截图展示 前台影院首页 电影信息 电影详情 电影评价 选座功能 选座主要前端代码设计 提交订单 影片订单详情/取票 影院信息 影院详情 资讯信息 我的个人中心 后台主要功能设计 后台系统主页 菜单管理 用户管理 电影管理 添加电影信息 添加电影前端代码 评价管理 影厅管理 排片管理 订单管理 数据库主要表设计 用户表 电影表 主要技术框架:spring. springmvc. springboot.mybatis . jquery .t

  • 基于python的Linux系统指定进程性能监控思路详解

    监控Linux服务器的工具.组件和程序网上有很多,但是一台服务器上会有很多进程同时运行,特别是做性能测试的时候,可能一台服务器上部署多个服务,如果只监控整个服务器的CPU和内存,当某个服务出现性能问题时,并不能有效准确的定位出(当然通过其他工具也可以实现),因此,很有必要只监控指定的进程.需求明确了,于是动手撸了一个性能监控脚本. 一.整体思路 1.为了方便的启动监控和停止监控,在想查看监控结果的时候随时查看监控结果,用flask开启了一个服务,通过发送get请求可以随时启停监控和查看监控结果.

  • 基于Python实现人脸自动戴口罩系统

    1.项目背景 2019年新型冠状病毒感染的肺炎疫情发生以来,牵动人心,举国哀痛,口罩.酒精.消毒液奇货可居. 抢不到口罩,怎么办?作为技术人今天分享如何使用Python实现自动戴口罩系统,来安慰自己,系统效果如下所示: 本系统的实现原理是借助 Dlib模块的Landmark人脸68个关键点检测库轻松识别出人脸五官数据,根据这些数据,确定嘴唇部分的位置数据(48点~67点位置),根据检测到嘴部的尺寸和方向,借助PLL模块调整口罩的尺寸和方向,实现将口罩放在图像的适当位置. 2.页面设计 基于tki

  • Python基于Dlib的人脸识别系统的实现

    之前已经介绍过人脸识别的基础概念,以及基于opencv的实现方式,今天,我们使用dlib来提取128维的人脸嵌入,并使用k临近值方法来实现人脸识别. 人脸识别系统的实现流程与之前是一样的,只是这里我们借助了dlib和face_recognition这两个库来实现.face_recognition是对dlib库的包装,使对dlib的使用更方便.所以首先要安装这2个库. pip3 install dlib pip3 install face_recognition 然后,还要安装imutils库 p

随机推荐