Python题目:电影院,函数调用,实现'查看热映电影','订票','查看订单','退票','结账','影评'的功能

Python每日练习题 专栏收录该内容
19 篇文章 5 订阅
def fun1():
    for i, j in enumerate(re_menu, start=1):
        print('{}、{}\t{}'.format(i, j[0], j[1]))
def fun2():
    while True:
        sel = int(input('请输入选择的电影:'))
        if 1<=sel<=4:
            selected.append(re_menu[sel - 1])
            number = int(input('请问定几张:'))
            count.append(number)
            ctn = int(input('是否继续购票?(0结束,其他数字继续):'))
            if ctn == 0:
                break
        else:
            print('输入错误!')

def fun3():
    print('序号      电影名      票价      张数')
    for i,j in enumerate(selected,start=1):
        print('{}      {}      {}      {}'.format(i,j[0],j[1],count[i-1]))
def fun4():
    while True:
        print('删除前')
        print('序号      电影名      票价      张数')
        for i, j in enumerate(selected, start=1):
            print('{}      {}      {}      {}'.format(i, j[0], j[1], count[i - 1]))
        dlt = int(input('请输入要删除的订单序号:'))
        del selected[dlt - 1]
        del count[dlt - 1]
        print('删除后')
        print('序号      电影名      票价      张数')
        for i, j in enumerate(selected, start=1):
            print('{}      {}      {}      {}'.format(i, j[0], j[1], count[i - 1]))
        re_ctn=int(input('是否继续删除?(0退出/其他数字继续删除):'))
        if re_ctn==0:
            break
def fun5():
    tatle_money=0
    for i,j in enumerate(selected):
        tatle_money+= j[1]*count[i]
    print(tatle_money)
    print('您一共花费:{}元'.format(tatle_money))
def fun6():
    ev=input('请输入您的影评:')
    evaluate.append(ev)
    look=int(input('客官谢谢您的影评!(1查看影评/其他结束)'))
    if look==1:
        print(evaluate)
    else:
        print('欢迎下次再来!您慢走!')
menu=['查看热映电影','订票','查看订单','退票','结账','影评']
re_menu=[['智取威虎山',30],['第一滴血',80],['大圣归来',40],['哪吒',50]]
selected=[]
count=[]
evaluate=[]
while True:
    for i, j in enumerate(menu, start=1):
        print('{}、{}'.format(i, j))
    print('===============================')
    num = int(input('请输入选择功能的编号:'))
    if num == 1:
        fun1()
    elif num == 2:
        fun2()
    elif num == 3:
        fun3()
    elif num == 4:
        fun4()
    elif num==5:
        fun5()
    elif num==6:
        fun6()
    print('===============================')
    all_ctn=int(input('是否继续功能选择(0退出)'))
    if all_ctn==0:
        break
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

#这只是一个半成品,只是实现了,一个完整的订票过程,对于,如果刷票,自己研究 #简单过程 # 第一、getRandAndCookie() 获得cook 和一个随机数用于登录 # 第二、getEnterRandCode() 得到登录时的识别码 # 第三、setuseandpassword(randcode,use,password) 发送随机数、识别码和用户及密码。由于随机数只在内部使用,所以定义成了全局变量, # 第四、GetTrainList() 得到所有车站列表,'@bjb|北京北|VAP|beijingbei|bjb|0' 其中有中文、拼音、拼音缩写、所一个ID(唯一),其主要是可以,通过上面的列表,找到它的唯一ID,TranCityToId('南昌') # 第五、GetTrainNumList(date,fromstationid,tostationid,starttime) 得到哪到哪的所在车次,消息格式如下,其中所以,一下车次的的ID:"id":"650000K1060I" # {"end_station_name":"北京西","end_time":"16:18","id":"650000K1060I","start_station_name":"深圳","start_time":"10:54","value":"K106"} # 通过ChangeToTrainNumId('K106')得到车次ID # 第六、QueryTrain(fromstationid,tostationid,date,stationNum,starttime) 就是点击查询按键,得到是否有能预订,格式如下 #       南昌         20:12,    北京西        07:38,11:26,--,--,--,--,10,有,有,--,有,有,--,<a name='btn130_2' class='btn130_2' # 通过choiceSubmitNum(stationNum,trainsubmitinfo)提取出getSelected()消息 # 第七、submitRequest(choiceSubmitNum(stationNum,trainsubmitinfo),date,starttime) 就是点击预订按钮 # 第八、getrandCheckCode()得到提交订单的识别码 # 第十、CheckInMyTicket(info,randcode,peoples)点击提交,如果成功的话,就会返回{"errMsg":"Y"} # 出于,网络是UTF8格式,所以,必须# -*- coding: utf-8 -*-,(当然,自己转换也是可以的) # 出于这一个控制台信息,所以,识别码的图片在脚本同一目录 #得到头信息
©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值