程序使用说明(该博客图片水印为改名前所加故与博客昵称不同)

该程序为汽车销售管理系统,可通过功能7实现对车库文件内(文件CarMessage.txt)车辆车辆的查看;如果有新车将要进入车库则会使用到功能1-4,功能1-4仅是新车信息的预处理。功能1为新车信息预录入;功能2可实现通过新车id号查询单辆新车信息,以便确定信息是否有误;功能3则是查看本次录入的全部信息;功能4如果通过功能2/3发现信息录入错误组通过该功能修改;功能5是将功能1录入的信息保存至车库文件(文件CarMessage.txt);功能6

是通过车辆id将已出售车辆的信息录入销售文件(Carsale.txt),同时删除车库文件内该车信息。退出系统则使用功能8

"""

汽车销售管理系统

借鉴内容:

1.保存学生数据时使用UTF-8防止乱码

"""

import os

#使用本代码请注明出处,蟹蟹

car_list = []#用于储存存有汽车信息的字典的列表

#菜单

def display_menu():

#1-4为新信息录入不操作文件,5为保存1-4信息,6对文件内的车辆信息修改(根据车号已售出的信息改为已售出)

#7查看文件信息

print("*******************************************")

print("-----------汽车销售管理系统------------------")

print("+++++++++++++++++++++++++++++++++++++++++++")

print("1.添加新车信息 2.查看单辆新车信息 ")

print("+++++++++++++++++++++++++++++++++++++++++++")

print("3.查看全部新车信息 4.修改新车信息 ")

print("+++++++++++++++++++++++++++++++++++++++++++")

print("5.保存新车信息 6.销售汽车 ")

print("+++++++++++++++++++++++++++++++++++++++++++")

print("7.查看车库车辆信息 8.查看售出信息 ")

print("+++++++++++++++++++++++++++++++++++++++++++")

print("9.退出系统 ")

print("*******************************************")

def get_choice():

selected_key = input("请输入选择的序号:")

return selected_key

def check_kind(new_kind):

flag = True

while flag:

if new_kind == '电动' or new_kind == '汽油':

flag = False

else:

new_kind = input("输入种类有误,请重新输入(电动/汽油):")

return new_kind

def check_id(new_id):

flag = True

while flag:

# 先检查是不是纯数字再去考虑是否重复

if new_id.isdigit():#确认是否为纯数字

for i in range(len(car_list)):

if car_list[i]['id'] == new_id:

new_id = check_id(input("您输入的id重复,请重新输入:"))

flag = False

else:

new_id = input("您输入的id有误,请重新输入:")

return new_id

def add_Car():#添加汽车信息

while 1:

new_info = {}

new_id = check_id(input("请输入编号:"))

new_info['id'] = new_id

new_color = input("请输入颜色:")

new_info['color'] = new_color

new_kind = check_kind(input("请输入类型(电动/汽油):"))

new_info['kind'] = new_kind

car_list.append(new_info)

a = input("是否继续添加(Y/N)")

if a == "N":

print("success")

break

elif a == "Y":

print("continue add")

def find_NewCar():# 查看单辆新车信息

find_id_is = input("请输入要查询的汽车编号:")

flag = False

index = 0

for i in range(len(car_list)):

if car_list[i]['id'] == find_id_is:

flag = True

index = i

break

if flag:

print("汽车查询到,汽车信息为:")

print(car_list[index]['id'],car_list[index]['color'],car_list[index]['kind'])

else:

print("汽车未找到!")

# 查询所有新车信息

def find_AllNewCar():

print("=" * 30)

for car in car_list:

print(car['id'], car['color'], car['kind'])

print("=" * 30)

# 修改细节函数

def choice_of_name(index):

while True:

choice = input("请输入要修改学生的(1.id 2.颜色 3.种类 ,4.全部修改):")

if choice == '4':

new_id = input("请输入新的id:")

car_list[index]['id'] = new_id

new_color = input("请输入新的颜色:")

car_list[index]['color'] = new_color

new_kind = check_kind(input("请输入种类(电动/汽油):"))

car_list[index]['kind'] = new_kind

break

elif choice == '1':

new_id = input("请输入新的id:")

car_list[index]['id'] = new_id

break

elif choice == '2':

new_color = input("请输入新的颜色:")

car_list[index]['color'] = new_color

break

elif choice == '3':

new_kind = check_kind(input("请输入种类(电动/汽油):"))

car_list[index]['kind'] = new_kind

break

else:

print("输入有误,请重新输入!")

# 修改新车信息

def re_NewCar():

id_is = input("请输入要修改的新车的id:")

flag = False

index = 0

# 先找到要修改的新车的id

for i in range(len(car_list)):

if car_list[i]['id'] == id_is:

flag = True

index = i

break

if flag:

choice_of_name(index)

print("修改成功!")

else:

print("修改失败,新车信息匹配失败!")

# 保存新车信息

def save_Car():

cars = str(car_list)

with open('CarMessage.txt', 'a+', encoding='utf-8') as f:

f.write(cars)

print("保存成功!文件位置在" + os.getcwd())

f.close()

#售出信息保存

def save1_Car():

cars = str(car_list)

with open('CarMessage.txt', 'w', encoding='utf-8') as f:

f.write(cars)

print("保存成功!文件位置在" + os.getcwd())

f.close()

#已售出车辆信息录入

def sale_Car():

num = input("请输入销售的汽车编号")

for new_info in car_list:

if num == new_info.get("id"):

f = open("Carsale.txt","a+",encoding='utf-8')

f.write(str(new_info["id"]) + "\t"

+ str(new_info["color"]) + "\t"

+ str(new_info["kind"]))

f.close()

car_list.remove(new_info)

print("已售出")

save1_Car()

#查看车库信息

def find_Car():

print("*"*50)

with open('CarMessage.txt','r',encoding='utf-8') as file:

CarMessage = file.readlines()

print(CarMessage)

print("\n","*"*23,"over","*"*23,"\n")

file.close()

#查看售出信息

def find_sale_Car():

print("*"*50)

with open('Carsale.txt','r',encoding='utf-8') as file:

Carsale = file.readlines()

print(Carsale)

print("\n","*"*23,"over","*"*23,"\n")

file.close()

def main():

exit_car = True

while exit_car:

display_menu()

key = get_choice()

if key == '1':

add_Car()

elif key == '2':

find_NewCar()

elif key == '3':

find_AllNewCar()

elif key == '4':

re_NewCar()

elif key == '5':

save_Car()

elif key == '6':

sale_Car()

elif key == '7':

find_Car()

elif key == '8':

find_sale_Car()

elif key == '9':

exit_car = False

else:

print("非法输入")

main()

功能设计与分析

通过main函数调用实现各项菜单功能的调用

main()函数通过上方get_choice()函数的返回值来确定功能

通过创建列表

实现储存汽车信息

以下代码为添加汽车信息代码,

再添加新信息前通过调用check_id()函数即以下代码

判断汽车id是否重复,重复则提示重新输入。

不重复则继续输入汽车信息,当输入到汽车种类时通过以下代码

判断输入的种类是否符合格式,不符合则提示重新输入。

以下代码为查看新车信息代码

首先输入要查询的新车id,后遍历功能1输入的数据查找是否有一致的id,若有则将flag变量值改为True,并通过if flag打印信息,若没有则flag值不变并显示未找到

上图为查看所有新车信息代码

以下为修改函数代码

.先输入有修改的新车id,后遍历功能1输入的新车id,若有相同的则将变量flag值变为True并调用chack_of_name()函数开始信息修改,,若没有则flag值不变并显示修改失败

以下为保存信息函数代码

将功能1写入的信息保存至CarMessage.txt文件

以下为销售数据录入代码

先输入已售出车辆id,后遍历列表内是否有相同id,当有相同id时则打开文件Carsale.txt并录入拥有该id的车辆信息,录入后删除列表内该车信息,并调用函数Save1_Car()覆盖CarMessage.txt文件内原有信息以达到删除CarMessage.txt文件内售出车辆信息的目的

以下为查看文件功能代码

打开CarMessage.txt文件并逐行读取文件内内容

运行结果

功能1

当id重复时则提示如下图

类型错误时提示如下

功能2

当没有相同id时提示如下

功能3

功能4

当没有相同id时提示如下

功能5

功能6

功能7

功能8

标签:课程设计,管理系统,python,car,list,kind,print,new,id

来源: https://blog.csdn.net/qq_45222992/article/details/106957137

python基础课程设计项目_python基础课程设计《汽车销售管理系统》相关推荐

  1. python基础课程设计项目_python项目

    泉州信息工程学院 软件学院 课程设计报告书 课程名:python课程设计 课程设计项目名称:基于Django的中餐厅网站的设计与实现 团队成员: 刘冬华.杨艺萍 一.项目简介 1.1 项目博客地址 1 ...

  2. python新手入门课_Python基础视频12集入门课程

    视频+笔记:├─1简介与实验环境配置9│ Python基础.pptx│ Python简介.pptx│ 实验环境配置2-1.pdf│ 2.1简介与实验环境配置.mp4│ 请简述 Python 语言与 C ...

  3. python基础开发环境_Python基础教程,第一讲,开发环境搭建

    今天是写Python基础教程的第一课,也是下定决心做技术分享的第一篇文章.先扯几句和技术无关的吧,也便于大家了解这套课程的内容,适不适合自己学习,我做开发6年了,已年过30,一直从事的WEB方面的开发 ...

  4. python结课报告_Python数据分析课程到底是学什么内容的?

    2020年12月4日,博为峰旗下学掌门召开了<Python 商业(大)数据分析师>新课程发布会.据悉,此次发布会上发布的<Python 商业(大)数据分析师>课程是在原< ...

  5. python用于数学教学_Python基础

    在众多领域中:人工智能.机器学习.数据挖掘.数据分析.云计算.网络爬虫等都离不开python的身影. 本课程包含三节基础课程,从完全零基础讲起,手把手教你入门Python语言.正式课程全程答疑保证每一 ...

  6. python课程设计汽车销售管理系统_汽车销售管理系统课程设计.doc

    课程设计报告 一. 需求分析 描述问题,简述题目要解决的问题是什么?规定软件做什么. 编写一个简单的4S店汽车销售管理程序,帮助管理汽车销售信息.要求具有汽车销售信息管理的功能.汽车销售信息管理包括汽 ...

  7. 汽车销售管理系统 c语言版 课程设计,汽车销售管理系统c语言版.docx

    Document serial number[NL89WT-NY98YT-NC8CB-NNUUT-NUT108] Document serial number[NL89WT-NY98YT-NC8CB- ...

  8. 汽车销售管理系统 c语言版 课程设计,汽车销售管理系统C语言版.doc

    实用文档 文案大全 西安郵電大學 C语言课程设计报告 题 目:汽车销售管理系统 院系名称: 专业名称: 班 级: 学生姓名: 学号(8位): 指导教师: 设计起止时间: 设计目的 1. 对c语言基本知 ...

  9. python基于PHP+MySQL的家装设计平台管理系统

    随着社会的发展人们对装修的要求也越来越高.如何能够和获取更高质量的家装信息是现在很多家居用户的刚需.本系统就是一个介绍家装设计的一个平台,用户在这里可以看到各种风格的家装信息,并且可以购买对应的家装材 ...

最新文章

  1. 不用数学也能讲清贝叶斯理论的马尔可夫链蒙特卡洛方法?这篇文章做到了
  2. 【Groovy】Groovy 代码创建 ( 使用 Java 语法实现 Groovy 类和主函数并运行 | 按照 Groovy 语法改造上述 Java 语法规则代码 )
  3. c语言小数点进制转换,新手求教,关于含小数的二进制转换成十进制
  4. Node.js 应用的内存泄漏问题的检测方法
  5. android开发卡死代码,Android Studio编译卡死(示例代码)
  6. 一季度平板电脑市场:苹果稳居第一,华为第二!
  7. 编写lisp程序解一元二次方程_用C语言编写一程序求解一元二次方程的根。
  8. Android Bitmaps缓存
  9. 字长为16位的计算机_字长为16位表示这台计算机最大能计算
  10. 出租车轨迹数据地图匹配
  11. 出现在嵌入式DSP上可用于实现各种编解码器
  12. PDF如何排版骑马钉打印
  13. vue3前端项目引入iconfont阿里图标
  14. A品牌电动车全国营销方案
  15. NeurIPS十年高引学者TOP100榜单发布!这些大牛值得膜拜!
  16. ARM CPU Cortex-X3,Cortex-A715,Cortex-A510 | GPU Immortalis-G715
  17. PHP利用ImageMagick实现PDF、PPT转图片
  18. Unity游戏配置存储方案
  19. 鱼鹰软件签约知名创意活动公司HOFO公关
  20. 紫光同创国产FPGA学习之IP Compiler

热门文章

  1. 分布式爬虫的原理及特点
  2. 手机投屏到电脑屏幕,win10自带功能很好用
  3. 服务器系统事件1014,事件ID1014
  4. [Z]一个硬盘的感人爱情故事
  5. asp实现注册登录界面_(06)ASP登录页面的设计思路
  6. 易语言Excel工作簿方法
  7. Bitwig Studio v2.4 x64 macOS+Ubuntu+WiN 音乐制作宿主软件下载
  8. BandZip cmd调用参数
  9. 小程序客服系统可以实现哪些操作?
  10. h2database源码解析-如何插入一条行记录