dianying = {1: {'name': '战 狼', 'money': '99元'},
2: {'name': '金刚川', 'money': '79元'},
3: {'name': '功 夫', 'money': '78元'},
4: {'name': '大闹天宫', 'money': '80元'}}
zuoweibiao = {1: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'},
2: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'},
3: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'},
4: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'},
5: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'},
6: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'},
7: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'},
8: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'},
9: {'列1': '有座', '列2': '有座', '列3': '有座', '列4': '有座', '列5': '有座', '列6': '有座', '列7': '有座', '列8': '有座'}, }
piaoku = {1: {}}
def select():
print('编号\t\t电影名\t\t价格')
l = list(dianying.keys())
for x in l:
s1 = dianying.get(x)
s2 = list(s1.values())
print('%d\t\t%s\t\t%s' % (x, s2[0], s2[1]))
def selectzuowei():
print('排\t\t1列\t\t2列\t\t3列\t\t4列\t\t5列\t\t6列\t\t7列\t\t8列')
l = list(zuoweibiao.keys())
for x in l:
s1 = zuoweibiao.get(x)
s2 = list(s1.values())
print('%d\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s' % (
x, s2[0], s2[1], s2[2], s2[3], s2[4], s2[5], s2[6], s2[7]))
def dingpiao():
while True:
select()
id = int(input('(输入0退出)请输入您选择的电影的编号:'))
if id == 0:
break
elif id == 1:
name = '战 狼'
zhangshu = int(input('(输入0退出)请输入几张票:'))
if zhangshu == 0:
continue
else:
piaojia = 99 * zhangshu
zuowei = dingzuo(zuoweibiao, zhangshu)
if zuowei == []:
continue
else:
m = {'name': name, 'piaojia': piaojia, 'zhangshu': zhangshu, 'zuowei': zuowei}
l1 = len(piaoku)
l2 = list(piaoku.keys())
newpiaoku = {l2[l1 - 1] + 1: m}
piaoku.update(newpiaoku)
print('订票成功!')
break
elif id == 2:
name = '金刚川'
zhangshu = int(input('(输入0退出)请输入几张票:'))
if zhangshu == 0:
continue
else:
piaojia = 79 * zhangshu
zuowei = dingzuo(zuoweibiao, zhangshu)
m = {'name': name, 'piaojia': piaojia, 'zhangshu': zhangshu, 'zuowei': zuowei}
l1 = len(piaoku)
l2 = list(piaoku.keys())
newpiaoku = {l2[l1 - 1] + 1: m}
piaoku.update(newpiaoku)
print('订票成功!')
break
elif id == 3:
name = '功 夫'
zhangshu = int(input('(输入0退出)请输入几张票:'))
if zhangshu == 0:
continue
else:
piaojia = 78 * zhangshu
zuowei = dingzuo(zuoweibiao, zhangshu)
m = {'name': name, 'piaojia': piaojia, 'zhangshu': zhangshu, 'zuowei': zuowei}
l1 = len(piaoku)
l2 = list(piaoku.keys())
newpiaoku = {l2[l1 - 1] + 1: m}
piaoku.update(newpiaoku)
print('订票成功!')
break
elif id == 4:
name = '大闹天宫'
zhangshu = int(input('(输入0退出)请输入几张票:'))
if zhangshu == 0:
continue
else:
piaojia = 80 * zhangshu
zuowei = dingzuo(zuoweibiao, zhangshu)
m = {'name': name, 'piaojia': piaojia, 'zhangshu': zhangshu, 'zuowei': zuowei}
l1 = len(piaoku)
l2 = list(piaoku.keys())
newpiaoku = {l2[l1 - 1] + 1: m}
piaoku.update(newpiaoku)
print('订票成功!')
break
else:
print('没有这个选项!请重新输入')
continue
def dingzuo(zuoweibiao, zhangshu):
zuowei = []
for i in range(zhangshu):
while True:
selectzuowei()
x = int(input('(输入0退出)请输入您选择座位的排:'))
if x == 0:
break
else:
if 0 < x < 10:
y = int(input('(输入0退出)请输入您选择座位的列:'))
if x == 0:
break
else:
if 0 < x < 9:
s = zuoweibiao.get(x)
s2 = list(s.values())
if y == 1:
if s2[1] == '没座':
print('这个座位有人了!请重新选择!')
continue
else:
genggai(zuoweibiao, x, y)
break
elif y == 2:
if s2[2] == '没座':
print('这个座位有人了!请重新选择!')
continue
else:
genggai(zuoweibiao, x, y)
break
elif y == 3:
if s2[3] == '没座':
print('这个座位有人了!请重新选择!')
continue
else:
genggai(zuoweibiao, x, y)
break
elif y == 4:
if s2[4] == '没座':
print('这个座位有人了!请重新选择!')
continue
else:
genggai(zuoweibiao, x, y)
break
elif y == 5:
if s2[5] == '没座':
print('这个座位有人了!请重新选择!')
continue
else:
genggai(zuoweibiao, x, y)
break
elif y == 6:
if s2[6] == '没座':
print('这个座位有人了!请重新选择!')
continue
else:
genggai(zuoweibiao, x, y)
break
elif y == 7:
if s2[7] == '没座':
print('这个座位有人了!请重新选择!')
continue
else:
genggai(zuoweibiao, x, y)
break
elif y == 8:
if s2[8] == '没座':
print('这个座位有人了!请重新选择!')
continue
else:
genggai(zuoweibiao, x, y)
break
else:
print('没有这个选项!请重新输入')
continue
else:
print('没有这个选项!请重新输入')
continue
if x ==0:
break
else:
zuowei1 = (x, y)
zuowei.append(zuowei1)
return zuowei
def genggai(zuoweibiao, x, y):
yuanzuowei = zuoweibiao.get(x)
a = '没座'
if y == 1:
yuanzuowei.update(列1=a)
elif y == 2:
yuanzuowei.update(列2=a)
elif y == 3:
yuanzuowei.update(列3=a)
elif y == 4:
yuanzuowei.update(列4=a)
elif y == 5:
yuanzuowei.update(列5=a)
elif y == 6:
yuanzuowei.update(列6=a)
elif y == 7:
yuanzuowei.update(列7=a)
elif y == 8:
yuanzuowei.update(列8=a)
print('选座成功!')
selectzuowei()
def selectpiao():
panduan = len(list(piaoku.values()))
if panduan > 1:
print('编号\t\t电影名\t\t票价\t\t张数\t\t座位')
l = list(piaoku.keys())
l.pop(0)
for x in l:
s1 = piaoku.get(x)
s2 = list(s1.values())
print('%d\t\t%s\t\t%d\t\t%d\t\t' % (x - 1, s2[0], s2[1], s2[2]), s2[3])
else:
print('您还没有订票呢!')
def tueizuo(x, y):
yuanzuowei = zuoweibiao.get(x)
a = '有座'
if y == 1:
yuanzuowei.update(列1=a)
elif y == 2:
yuanzuowei.update(列2=a)
elif y == 3:
yuanzuowei.update(列3=a)
elif y == 4:
yuanzuowei.update(列4=a)
elif y == 5:
yuanzuowei.update(列5=a)
elif y == 6:
yuanzuowei.update(列6=a)
elif y == 7:
yuanzuowei.update(列7=a)
elif y == 8:
yuanzuowei.update(列8=a)
def tuenpiao():
panduan = len(list(piaoku.values()))
if panduan > 1:
selectpiao()
xuhao = int(input('(输入0退出)请输入要退票的编号:'))
if xuhao == 0:
print('退出成功')
else:
s1 = piaoku.get(xuhao + 1)
s2 = list(s1.values())
a = s2[2]
for i in range(a):
x = s2[3][i][0]
y = s2[3][i][1]
tueizuo(x, y)
piaoku.pop(xuhao + 1)
print('退票成功!')
else:
print('您还没有订票!')
def jiezhang():
l = list(piaoku.keys())
l.pop(0)
money = 0
for x in l:
s1 = piaoku.get(x)
s2 = list(s1.values())
money += s2[1]
while True:
print('您一共花费:%d元' % money)
money1 = int(input('(输入-1退出)请输入钱数:'))
if money1 == -1:
break
else:
money2 = money1 - money
if money2 > 0:
print('支付成功!找您:%d元。 欢迎下次再来!' % money2)
break
elif money2 == 0:
print('支付成功!欢迎下次再来!')
break
else:
print('您支付的金额不足!请重新支付!')
continue
while True:
print('********欢迎来到电影购票系统********')
print('1.查看热映电影')
print('2.订票')
print('3.查看订单')
print('4.退票')
print('5.结账')
print('6.退出')
num = int(input('请输入选择功能的编号:'))
if num == 1:
select()
continue
elif num == 2:
dingpiao()
continue
elif num == 3:
selectpiao()
continue
elif num == 4:
tuenpiao()
continue
elif num == 5:
jiezhang()
elif num == 6:
print('欢迎再次使用!拜拜!')
print('=================================')
break
else:
print('没有这个选项!请重新输入')
continue
Python电影票购票系统
最新推荐文章于 2024-07-31 13:24:02 发布