Python电影售票系统(第三个小程序)

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, 外汇跟单gendan5.comname[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(' 账号错误,请您核对! ')


请使用浏览器的分享功能分享到微信等