返回顶部
首页 > 资讯 > 后端开发 > Python >Python编写车票订购系统 Python实现快递收费系统
  • 639
分享到

Python编写车票订购系统 Python实现快递收费系统

2024-04-02 19:04:59 639人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了python编写车票订购系统,Python实现快递收费系统的具体代码,供大家参考,具体内容如下 要求: 1.上网查询郑州到北京,西安,石家庄,济南,太原,武汉的距

本文实例为大家分享了python编写车票订购系统,Python实现快递收费系统的具体代码,供大家参考,具体内容如下

要求:

1.上网查询郑州到北京,西安,石家庄,济南,太原,武汉的距离及票价,用数据库保存车次信息
2.要求输入目的地,能够查询到里程和票价
3.用数据库存储每一次售票记录,包括售票流水号,起点站,终点站,里程,金额等数据,并统计所有存储记录的总售票金额及各站的旅客流量(进站流量+出站流量)
4.能够打印票据信息,包括订票人信息,票价,票据号,车次等信息

import sqlite3
import os
import time
def createDB():
   """
      创建并初始化数据库
   """
   # 原始数据
   info = [("G1564", "郑州", "北京", "309", "693"), ("G802", "郑州", "北京", "315", "693"), ("G564", "郑州", "北京", "326.5", "693"),
         ("G2025", "郑州", "西安", "239", "479.3"), ("D311", "郑州", "西安", "159", "479.3"), ("G857", "郑州", "西安", "229", "479.3"),
         ("G1286", "郑州", "石家庄", "189.5", "417.9"), ("G2070", "郑州", "石家庄", "196", "417.9"), ("G430", "郑州", "石家庄", "208", "417.9"),
         ("G2074", "郑州", "济南", "303", "446"), ("G258", "郑州", "济南", "312.5", "446"), ("G1844", "郑州", "济南", "298.5", "446"),
         ("D290", "郑州", "太原", "189", "432.7"), ("D3348", "郑州", "太原", "153", "432.7"), ("D2782", "郑州", "太原", "171", "432.7"),
         ("G1991", "郑州", "武汉", "244", "509.8"), ("G3203", "郑州", "武汉", "314", "509.8"), ("G8171", "郑州", "武汉", "248", "509.8")]
   con = sqlite3.connect("DB.db")#连接到数据库
   cur = con.cursor()     # 创建游标对象
   # 创建字段,num是车次,station是始发站,destination是目的地,price票价,distance是距离
   cur.execute("create table test(num primary key, station, destination, price, distance)")
   for i in info:
      cur.execute("insert into test values(?,?,?,?,?)", i)
   con.commit()
   cur.close()
   con.close()
def CreateSaleDB():
   """
   创建销售数据库
   """
   con = sqlite3.connect("sale.db")
   cur = con.cursor()
   # 字段依次为流水号,起点站,终点站,金额,里程
   cur.execute("create table sheet(num,station,destination,price,distance)")
   con.commit()
   cur.close()
   con.close()

# 根据目的地查询车票信息
def Query(dest):
   con = sqlite3.connect("DB.db")
   cur = con.cursor()
   item = cur.execute("select * from test where destination=?", (dest,))
   print("--------------------------查询到的信息--------------------------")
   for i in item.fetchall():
      print("车次:%s      %s==>%s       票价:%s元    距离:%skm" % (i[0], i[1], i[2], i[3], i[4]))
   print("--------------------------------------------------------------")
   cur.close()
   con.close()
def SaveSaleRecord(num, SerialNumber):
   con = sqlite3.connect("DB.db")
   cur = con.cursor()
   item = cur.execute("select * from test where num=?", (num,))
   data = []
   data.append(SerialNumber)
   for i in item.fetchall():
      data.append(i[1])
      data.append(i[2])
      data.append(i[3])
      data.append(i[4])
   cur.close()
   con.close()

   data = tuple(data)
   con = sqlite3.connect("sale.db")
   cur = con.cursor()
   cur.execute("insert into sheet values(?,?,?,?,?)", data)
   con.commit()
   cur.close()
   con.close()
   return data

def Statistics():
   con = sqlite3.connect("sale.db")
   cur = con.cursor()
   item = cur.execute("select * from sheet")

   total_sale = 0
   # 进出站客流量统计列表,进站/出站
   zhengzhou = [0, 0]
   beijing = [0, 0]
   xian = [0, 0]
   shijiazhuang = [0, 0]
   jinan = [0, 0]
   taiyuan = [0, 0]
   wuhan = [0, 0]
   for i in item.fetchall():
      temp = float(i[3])
      total_sale = temp + total_sale
      # 流水号,起点站,终点站,金额,里程

      # 进站统计
      if i[1] == '郑州':
         zhengzhou[0] += 1
      elif i[1] == '北京':
         beijing[0] += 1
      elif i[1] == '西安':
         xian[0] += 1
      elif i[1] == '济南':
         jinan[0] += 1
      elif i[1] == '石家庄':
         shijiazhuang[0] += 1
      elif i[1] == '武汉':
         wuhan[0] += 1
      elif i[1] == '太原':
         taiyuan[0] += 1

      # 出站统计
      if i[2] == '郑州':
         zhengzhou[1] += 1
      elif i[2] == '北京':
         beijing[1] += 1
      elif i[2] == '西安':
         xian[1] += 1
      elif i[2] == '济南':
         jinan[1] += 1
      elif i[2] == '石家庄':
         shijiazhuang[1] += 1
      elif i[2] == '武汉':
         wuhan[1] += 1
      elif i[2] == '太原':
         taiyuan[1] += 1

   print("--------进出站统计--------")
   print("       进站       出站")
   print("郑州      %d           %d" % (zhengzhou[0], zhengzhou[1]))
   print("北京      %d           %d" % (beijing[0], beijing[1]))
   print("石家庄  %d           %d" % (shijiazhuang[0], shijiazhuang[1]))
   print("西安      %d           %d" % (xian[0], xian[1]))
   print("太原      %d           %d" % (taiyuan[0], taiyuan[1]))
   print("济南      %d           %d" % (jinan[0], jinan[1]))
   print("武汉      %d           %d" % (wuhan[0], wuhan[1]))
   print("------------------------")
   print("总销售额:%.2f元" % total_sale)
   cur.close()
   con.close()

def PrintData(data, num):
   """
   打印票据信息
   """
   print("--------票据信息--------")
   print("车次:%s" %num)
   print("票据号:%s" %data[0])
   print("票价:%s元" %data[3])
   print("----------------------")

if __name__ == '__main__':
   # 创建数据库DB.db
   if os.path.exists("DB.db"):
      pass
   else:
      # 创建数据库并初始化
      createDB()

   # 创建销售数据库,存储销售记录
   if os.path.exists("sale.db"):
      pass
   else:
      CreateSaleDB()
   flag = 1
   while(flag):
      print("********欢迎使用车票订购系统*******")
      print('请选择您的进一步操作')
      print('1.查询车次信息')
      print('2.售票记录和票据信息')
      print('3.各站旅客流量统计')
      print('4.退出系统')
      a = int(input("请输入选项:"))
      if a == 1:
         dest = input("请输入目的地:")
         Query(dest)
         # num, SerialNumber = Query(dest)  # num是购买的车次,SerialNumber是流水号
      elif a == 2:
         num = input("请输入要购买的车次:")
         SerialNumber = time.strftime("%Y%m%d%H%M%S", time.localtime())  # 作为流水号
         data = SaveSaleRecord(num, SerialNumber)  # 保存售票记录,返回购票信息以供打印票据用
         PrintData(data, num)  # 打印票据信息
      elif a == 3:
         Statistics()  # 统计
      elif a == 4:
         break
      else:
         print('输入错误,请重新输入!!!')

程序运行结果如图所示:

还有一个是快递收费系统,要求啥的找不到了,只剩代码

import sqlite3
#定义区域快递费
q=[10,10,15,15,15]
x=[3,4,5,6.5,10]
#打开数据库
def opendb():
    #创建全局变量方便其他函数调用
    global conn
    global cur
    conn=sqlite3.connect('customer.db')
    cur=conn.cursor()
    cur.execute('''create table if not exists customers(num,name,distance)''')
    #添加数据
    p0 = [('0', "上海", "同城"), ('1', "江苏", "临近两省"), ('1', "浙江", "临近两省"), ('2', "北京", "1500公里(含)以内"), ('2', "天津", "1500公里(含)以内"), ('2', "河北", "1500公里(含)以内")]
    p1 = [('2', "河南", "1500公里(含)以内"), ('2', "安徽", "1500公里(含)以内"), ('2', "陕西", "1500公里(含)以内"), ('2', "湖北", "1500公里(含)以内"), ('2', "江西", "1500公里(含)以内"), ('2', "湖南", "1500公里(含)以内")]
    p2 = [('2', "福建", "1500公里(含)以内"), ('2', "广东", "1500公里(含)以内"), ('2', "山西", "1500公里(含)以内"), ('3', "吉林", "1500-2500公里"), ('3', "甘肃", "1500-2500公里"), ('3', "四川", "1500-2500公里")]
    p3 = [('3', "重庆", "1500-2500公里"), ('3', "青海", "1500-2500公里"), ('3', "广西", "1500-2500公里"), ('3', "云南", "1500-2500公里"), ('3', "海南", "1500-2500公里"), ('3', "内蒙古", "1500-2500公里")]
    p4 = [('3', "黑龙江", "1500-2500公里"), ('3', "贵州", "1500-2500公里"), ('3', "辽宁", "1500-2500公里"), ('4', "新疆", "2500公里以上"), ('4', "西藏", "2500公里以上")]
    cur.executemany('''insert into customers values(?,?,?)''',p0)
    cur.executemany('''insert into customers values(?,?,?)''',p1)
    cur.executemany('''insert into customers values(?,?,?)''',p2)
    cur.executemany('''insert into customers values(?,?,?)''',p3)
    cur.executemany('''insert into customers values(?,?,?)''',p4)
#输出分隔线
def interval():
    print('**************************************')
#计算快递费
def Calculation():
    num=int(input('请输入区域编码(0-4):'))
    if num<=4:
        weight = float(input('请输入快递重量(公斤):'))
        #不足1公斤按1公斤计算
        if weight!=int(weight):
            weight=int(weight)+1
        s=q[num]+(weight-1)*x[num]
        print('所需快递费为:%.2f'%s)
        interval()
    else:
        print('区域编号错误!请重新输入!')
        Calculation()
#修改区域快递费
def modify():
    #输出目前区域快递费方便修改
    print("目前区域快递费为:")
    Inquire2()
    num=int(input('请输入要修改的区域编码(0-4):'))
    if num<=4:
        q[num]=float(input('请输入修改后的起重费:'))
        x[num]=float(input('请输入修改后的续重费:'))
        print('修改成功!')
        #修改完成后输出修改后的区域快递费
        print('修改后的地区快递费为:')
        Inquire2()
        interval()
    else:
        print('区域编号错误!请重新输入!')
        modify()
#查询地区编码
def Inquire1():
    global cur
    cur.execute('''select * from customers order by num asc''')
    print('地区编码\t\t地区名称\t\t地区距离')
    for i in cur:
        print('%-5s\t\t%-5s\t\t%-5s'%(i[0],i[1],i[2]))
    interval()
#查询地区快递费
def Inquire2():
    print('地区编码\t\t起重费(元)\t\t续费(元/公斤)')
    for i in range(5):
        print(i,"\t\t\t%.2f\t\t\t%.2f"%(q[i],x[i]))
#删除数据
def delete():
    a=input('请输入要删除的地区名称:')
    global cur
    cur.execute('''select * from customers where name="%s"'''%a)
    print('地区编码\t\t地区名称\t\t地区距离')
    for i in cur:
        print('%-5s\t\t%-5s\t\t%-5s'%(i[0],i[1],i[2]))
    print('1.确认删除')
    print('2.取消')
    b=int(input())
    if b==1:
        cur.execute('''delete from customers where name="%s"'''%a)
        print('删除成功!')
    else:
        print('取消删除!')
#添加数据
def add():
    global cur
    a = input('请输入要添加的地区编号:')
    b = input('请输入要添加的地区名称:')
    c = input('请输入要添加的地区距离:')
    s=[(a,b,c)]
    cur.executemany('''insert into customers values(?,?,?)''',s)
    print('添加成功!')
opendb()
print('**********欢迎使用快递费计算系统**********')
while 1>0:
    print('请选择您的进一步操作')
    print('1:添加数据')
    print('2:计算快递费')
    print('3:查询地区编码')
    print('4:查询区域快递费')
    print('5:修改区域快递费')
    print('6:删除数据')
    print('7:退出系统')
    a=int(input())
    if a==1:
        add()
    elif a==2:
        Calculation()
    elif a==3:
        Inquire1()
    elif a==4:
        Inquire2()
        interval()
    elif a==5:
        modify()
    elif a==6:
        delete()
    elif a==7:
        break
    else:
        print('输入错误!请重新输入!')
        interval()
conn.commit()
cur.close()
conn.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Python编写车票订购系统 Python实现快递收费系统

本文链接: https://lsjlt.com/news/120016.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python编写车票订购系统 Python实现快递收费系统
    本文实例为大家分享了Python编写车票订购系统,Python实现快递收费系统的具体代码,供大家参考,具体内容如下 要求: 1.上网查询郑州到北京,西安,石家庄,济南,太原,武汉的距...
    99+
    2024-04-02
  • C语言实现火车订票系统
    本文实例为大家分享了C语言实现火车订票系统的具体代码,供大家参考,具体内容如下 程序介绍 1.运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。其运行效果如图所示...
    99+
    2022-11-13
    C语言火车订票系统 C语言火车订票 C语言订票系统
  • Java实现火车票预订系统的代码怎么写
    本文小编为大家详细介绍“Java实现火车票预订系统的代码怎么写”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java实现火车票预订系统的代码怎么写”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 一、项...
    99+
    2023-06-29
  • 利用Python实现电影订票系统
    目录一、效果展示二、整体结构图 三、代码分解3.1infos.py 3.2seat_book.py3.3film_selector.py3.4main....
    99+
    2024-04-02
  • Java实战之火车票预订系统的实现
    目录 一、项目运行二、效果图三、核心代码个人中心Controller管理员和员工登陆控制用户管理操作 一、项目运行 环境配置: Jdk1.8 + Tomcat8....
    99+
    2024-04-02
  • Python脚本实现12306火车票查询系统
    最近我看到看到使用python实现火车票查询,我自己也实现了,感觉收获蛮多的,下面我就把每一步骤都详细给分享出来。(注意使用的是python3) 首先我将最终结果给展示出来: 在cmd命令行执行:pytho...
    99+
    2022-06-04
    查询系统 火车票 脚本
  • 如何利用C++实现一个简单的火车票订购系统?
    随着人们工作和生活方式的变化,越来越多的人选择乘坐火车出行。因此,实现一个简单的火车票订购系统可以方便用户预订车票,同时也可以提高工作效率,减少人力投入。本文将介绍如何使用C++实现一个简单的火车票订购系统,以方便读者学习和实践。一、需求分...
    99+
    2023-11-03
    C++ 火车票 订购系统
  • java/php/node.js/python火车订票管理系统【2024年毕设】
    本系统带文档lw万字以上 文末可领取本课题的JAVA源码参考 开发环境 开发语言:Java 框架:ssm 技术:ssm+vue JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7或8.0 数据库工具:Navica...
    99+
    2023-10-06
    java 课程设计 开发语言
  • Python+OpenCV编写车辆计数器系统
    目录介绍对象追踪流行的追踪算法对象跟踪的应用实现欧几里得距离跟踪器加载库和视频在OpenCV中获取视频帧结论介绍 本文,我们将使用欧几里德距离跟踪和轮廓的概念在 Python 中使用...
    99+
    2024-04-02
  • 使用Python实现火车票查询系统(带界面)
    目录导语一、运行环境二、代码展示三、效果展示导语 周末、假期来了,七夕也快到了,又到一年中最一票难求的时候了! 那些假期想回家、过节异地恋的小可爱们,能准时抢到回家(约会对象)的城市...
    99+
    2024-04-02
  • 基于JSP微信小程序汽车票订票售票系统设计与实现
    第1步(数据库操作):     导入sql数据库 第2步(网站发布):     使用ideal导入管理系统     设置根目录下 conn.jsp的数据库连接 和 网址地址(小程序使用)     运行站点,登录后台测试 第3步(小程序发布...
    99+
    2023-08-31
    微信小程序 小程序
  • python实现列车管理系统
    本文实例为大家分享了python实现列车管理系统的具体代码,供大家参考,具体内容如下 这学期学了python,结果学的还是很浅,然后就写了个简单的大作业,学习一下。这是个简单的操作系...
    99+
    2024-04-02
  • python实现停车场管理系统
    目录一、需求二、代码2.1 初始化模块__init__.py2.2 主程序模块main.py2.3 停车管理模块ParkingManagementSystem.py2.4 车元素模块...
    99+
    2024-04-02
  • 基于Python实现智能停车场车牌识别计费系统
    目录项目结构主要代码实现效果前段时间练习过的一个小项目,今天再看看,记录一下~ 项目结构 说明: datefile文件夹:保存车辆信息表的xlsx文件file文件夹:保存图片文件夹...
    99+
    2024-04-02
  • 基于Python实现电影售票系统
    目录一、系统要求二、用户信息三、主要代码四、效果图展示一、系统要求 电影售票系统程序,应具备以下几点功能: 1.用户认证 系统用户分为用户、管理员两个角色,系统可根据不同用户角色权限...
    99+
    2024-04-02
  • python实现网上购物系统
    本文实例为大家分享了python实现网上购物系统的具体代码,供大家参考,具体内容如下 1.购物商城的需求分析: 1、输出欢迎界面还有登录注册菜单: 1).登陆 2).注册  ...
    99+
    2024-04-02
  • 基于Python怎么实现智能停车场车牌识别计费系统
    这篇文章主要介绍“基于Python怎么实现智能停车场车牌识别计费系统”,在日常操作中,相信很多人在基于Python怎么实现智能停车场车牌识别计费系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于Pytho...
    99+
    2023-06-30
  • 基于Python的车牌识别系统实现
    本文将以基于Python的车牌识别系统实现为方向,介绍车牌识别技术的基本原理、常用算法和方法,并详细讲解如何利用Python语言实现一个完整的车牌识别系统。 目录 引言车牌识别技...
    99+
    2023-10-18
    python 车牌识别 计算机视觉 机器学习 原力计划
  • 基于Python如何实现电影售票系统
    基于Python如何实现电影售票系统,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、系统要求电影售票系统程序,应具备以下几点功能:用户认证系统用户分为用户、管...
    99+
    2023-06-22
  • 基于Python的车牌识别系统的实现
    目录 第1章 绪论 1 1.1研究背景与意义 1 1.2课题研究现状 1 1.3研究目标 1 1.4研究内容与论文组织结构 1 第2章 相关理论与关键技术 3 2.1计算机视觉概述 3 2.2 Ope...
    99+
    2023-10-20
    python 计算机视觉 opencv 车牌识别系统 毕业设计
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作