关于python:Python电影售票系统第三个小程序

44次阅读

共计 3089 个字符,预计需要花费 8 分钟才能阅读完成。

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(zaccount)))

                print('[金属期货](https://www.gendan5.com/cf/mf.html)未查问到订票信息')
                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])] = '□'

zaccount].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('账号谬误,请您核查!')

正文完
 0