python基础课程设计项目_python基础课程设计《汽车销售管理系统》
程序使用说明(该博客图片水印为改名前所加故与博客昵称不同)
该程序为汽车销售管理系统,可通过功能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基础课程设计《汽车销售管理系统》相关推荐
- python基础课程设计项目_python项目
泉州信息工程学院 软件学院 课程设计报告书 课程名:python课程设计 课程设计项目名称:基于Django的中餐厅网站的设计与实现 团队成员: 刘冬华.杨艺萍 一.项目简介 1.1 项目博客地址 1 ...
- python新手入门课_Python基础视频12集入门课程
视频+笔记:├─1简介与实验环境配置9│ Python基础.pptx│ Python简介.pptx│ 实验环境配置2-1.pdf│ 2.1简介与实验环境配置.mp4│ 请简述 Python 语言与 C ...
- python基础开发环境_Python基础教程,第一讲,开发环境搭建
今天是写Python基础教程的第一课,也是下定决心做技术分享的第一篇文章.先扯几句和技术无关的吧,也便于大家了解这套课程的内容,适不适合自己学习,我做开发6年了,已年过30,一直从事的WEB方面的开发 ...
- python结课报告_Python数据分析课程到底是学什么内容的?
2020年12月4日,博为峰旗下学掌门召开了<Python 商业(大)数据分析师>新课程发布会.据悉,此次发布会上发布的<Python 商业(大)数据分析师>课程是在原< ...
- python用于数学教学_Python基础
在众多领域中:人工智能.机器学习.数据挖掘.数据分析.云计算.网络爬虫等都离不开python的身影. 本课程包含三节基础课程,从完全零基础讲起,手把手教你入门Python语言.正式课程全程答疑保证每一 ...
- python课程设计汽车销售管理系统_汽车销售管理系统课程设计.doc
课程设计报告 一. 需求分析 描述问题,简述题目要解决的问题是什么?规定软件做什么. 编写一个简单的4S店汽车销售管理程序,帮助管理汽车销售信息.要求具有汽车销售信息管理的功能.汽车销售信息管理包括汽 ...
- 汽车销售管理系统 c语言版 课程设计,汽车销售管理系统c语言版.docx
Document serial number[NL89WT-NY98YT-NC8CB-NNUUT-NUT108] Document serial number[NL89WT-NY98YT-NC8CB- ...
- 汽车销售管理系统 c语言版 课程设计,汽车销售管理系统C语言版.doc
实用文档 文案大全 西安郵電大學 C语言课程设计报告 题 目:汽车销售管理系统 院系名称: 专业名称: 班 级: 学生姓名: 学号(8位): 指导教师: 设计起止时间: 设计目的 1. 对c语言基本知 ...
- python基于PHP+MySQL的家装设计平台管理系统
随着社会的发展人们对装修的要求也越来越高.如何能够和获取更高质量的家装信息是现在很多家居用户的刚需.本系统就是一个介绍家装设计的一个平台,用户在这里可以看到各种风格的家装信息,并且可以购买对应的家装材 ...
最新文章
- 不用数学也能讲清贝叶斯理论的马尔可夫链蒙特卡洛方法?这篇文章做到了
- 【Groovy】Groovy 代码创建 ( 使用 Java 语法实现 Groovy 类和主函数并运行 | 按照 Groovy 语法改造上述 Java 语法规则代码 )
- c语言小数点进制转换,新手求教,关于含小数的二进制转换成十进制
- Node.js 应用的内存泄漏问题的检测方法
- android开发卡死代码,Android Studio编译卡死(示例代码)
- 一季度平板电脑市场:苹果稳居第一,华为第二!
- 编写lisp程序解一元二次方程_用C语言编写一程序求解一元二次方程的根。
- Android Bitmaps缓存
- 字长为16位的计算机_字长为16位表示这台计算机最大能计算
- 出租车轨迹数据地图匹配
- 出现在嵌入式DSP上可用于实现各种编解码器
- PDF如何排版骑马钉打印
- vue3前端项目引入iconfont阿里图标
- A品牌电动车全国营销方案
- NeurIPS十年高引学者TOP100榜单发布!这些大牛值得膜拜!
- ARM CPU Cortex-X3,Cortex-A715,Cortex-A510 | GPU Immortalis-G715
- PHP利用ImageMagick实现PDF、PPT转图片
- Unity游戏配置存储方案
- 鱼鹰软件签约知名创意活动公司HOFO公关
- 紫光同创国产FPGA学习之IP Compiler