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(' 账号错误,请您核对! ')