python之作业--------购物车优化
题目要求:
优化版的购物车
用户入口:1.商品的信息存到文件里2.已购商品,余额记录 商家入口:1.可以添加商品 2.修改商品价格
Read Me:继上次简单购物车的实现,有再一次的升级优化了下,现实现以下几个功能:
1.有客户操作和商家操作,实现,客户可以买东西,当金额不足提醒,最后按q退出,打印购物车列表
2.商家可以添加操作、修改商品价格操作
3.此次所有的商品信息存储在product.txt文件中例:Watch: 1000,这样的形式存在。
4. 运行此程序需要有商品信息的txt文件如上,按提示操作即可
思维导图:
代码如下:
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 #2018.02.06 5 #path python3.5 6 #优化版的购物车 7 #用户入口: 8 #1.商品的信息存到文件里 9 #2.已购商品,余额记录 10 #商家入口: 11 #1.可以添加商品 2.修改商品价格 12 #存储商品列表 13 import fileinput 14 product_list = [] 15 f = open("product.txt","r")#打开文件 16 for line in f.readlines(): 17 line =line.strip()#去掉最后一个换行符 18 index,item = line.split(":")#以冒号分割得到前后两个数据 19 product_list.append((index,item))#添加的数据 20 f.close() 21 22 def print_product_list(): 23 for index,item in enumerate(product_list): 24 print(index,item) 25 #用户入口 26 #用户购物 27 def user_shopping(): 28 salary = input("请输入你的薪水:") 29 print_product_list() 30 if salary.isdigit(): 31 salary = int(salary) 32 shopping_list = []#存放用户购物车清单 33 while True: 34 option = input("喜欢那个就买哪个(对应的标号):") 35 if option.isdigit(): 36 option = int(option) 37 if option >= 0 and option <= len(product_list): 38 p_item = product_list[option]#用户选择的商品 39 #print(product_list) 40 #print(p_item[1]) 41 c_num = int(p_item[1]) 42 if salary >= c_num: 43 shopping_list.append(p_item) 44 salary -= c_num 45 print("添加购物车成功,你的余额还有%s"%(salary)) 46 else: 47 print("你的余额不足,只剩%s元"%(salary)) 48 else: 49 print("输入错误,请重新输入!") 50 elif option == "q": 51 print("----------------购物清单---------------") 52 for s_list in shopping_list: 53 print(s_list) 54 print("你的余额为%s"%(salary)) 55 print("..........exit.........") 56 exit() 57 else: 58 print("无效的输入") 59 60 #商家入口 61 #商家添加商品 62 def add_product(): 63 name_of_product = input("请输入你要添加的商品名字:") 64 price_of_product = input("请输入你要添加商品的价格:") 65 f = open("product.txt","a") 66 f.write(str("\n"+name_of_product)+": %s"%(price_of_product)) 67 f.close() 68 print("添加成功!\nexit----------") 69 70 71 72 #修改商品价格 73 def change_price(): 74 print_product_list()#打印商品列表 75 choice = input("请输入你的选择:") 76 #name_of_change = input("请输入你要改变的商品名字") 77 price_of_change = input("请输入你要改变商品的价格:") 78 if choice.isdigit(): 79 choice = int(choice) 80 if choice >=0 and choice <= len(product_list): 81 p_item = product_list[choice]#选择的商品 82 #c_num = int(p_item[1])#转换成int类型 83 for line in fileinput.input("product.txt",inplace = "%s"%(choice)):#对输入的选择行进行修改 84 line = line.replace("%s"%(p_item[1]),"%s"%(price_of_change)).strip() 85 print(line) 86 exit("修改成功!") 87 else: 88 print("输入无效") 89 else: 90 if choice == "q": 91 exit("退出") 92 93 94 95 96 97 98 99 100 101 102 103 104 105 if __name__ == "__main__": 106 print("--------------------------" 107 "--------------------------" 108 "\n" 109 " 欢迎进入购物菜单 " 110 "\n" 111 "\n" 112 "商家请按b,用户请按c\n" 113 "--------------------------" 114 "--------------------------") 115 c_num = input("请输入你的选择:")#使用者选择 116 if c_num == "b": 117 print("--------------------------" 118 "--------------------------" 119 "\n" 120 " 欢迎进入商家界面 " 121 "\n" 122 "\n" 123 "添加商品请按a,修改价格请按c\n" 124 "--------------------------" 125 "--------------------------") 126 c_num2 = input("请输入你的选择:") 127 if c_num2 == "a": 128 #实现添加商品功能 129 add_product() 130 if c_num2 == "c": 131 #实现商品价格修改功能 132 change_price() 133 else: 134 print("输入有误!") 135 if c_num == "c": 136 print("--------------------------" 137 "--------------------------" 138 "\n" 139 " 欢迎进入用户界面 " 140 "\n" 141 "\n" 142 143 "--------------------------" 144 "--------------------------") 145 #购物功能 146 user_shopping() 147 else: 148 print("输入有误程序退出!")
View Code
结束:有什么错误欢迎指出来,欢迎打扰 -_-
转载于:https://www.cnblogs.com/zhengyuan/p/8421539.html
python之作业--------购物车优化相关推荐
- python做作业没头绪_使用Python做作业
python做作业没头绪 Applying OpenCV and Tesseract to do your math-homework 应用OpenCV和Tesseract进行数学作业 The pos ...
- kaggle经典题--“泰坦尼克号”--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告)
kaggle经典题--"泰坦尼克号"--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告) 前言 开发环境 一.导入包: 二.实验数据的 ...
- MindOpt有关于Python的建模与优化
目录 前言 一.安装 二.Python 的建模与优化 2-1.MdoModel类 2-2.MdoExprLinear类 2-3.官方案例--营养调配 总结 前言 周四,天气渐渐凉快了下来. 一.安装 ...
- 咕泡学院:(1)唐宇迪python课程作业
超级详细的python思维导图见链接: https://download.csdn.net/download/m0_37957160/22526313 python数据科学必备工具实战思维导图链接: ...
- Python构建基于elkan优化算法的K-Means聚类模型
Python构建基于elkan优化算法的K-Means聚类模型 目录 Python构建基于elkan优化算法的K-Means聚类模型 #elkan优化算法
- 用python做一个购物车编程_利用python实现简单的循环购物车功能示例代码
本文主要给大家介绍了关于python实现循环购物车功能的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 示例代码 # -*- coding: utf-8 -*- __author__ = ...
- python编程书籍1020python编程书籍_代写INFT 1020作业、Database作业代做、Java课程作业代写、c++,Python编程作业代做...
代写INFT 1020作业.Database作业代做.Java课程作业代写.c++,Python编程作业代做 日期:2020-04-25 10:27 INFT 1020 Database Fundam ...
- python实验报告代写价格_代写OS python程序作业、代写代写OS作业、代写OS实验报告...
代写OS python程序作业.代写代写OS作业.代写OS实验报告 日期:2018-06-11 03:21 CSE 304 - Operating Systems DUE: June 11. Subm ...
- c++调用cplex求解例子_视频教程 | 用Python玩转运筹优化求解器IBM CPLEX(二)
编者按 优化求解器对于做运筹学应用的学生来说,意义重大. 然而直到今天,放眼望去,全网(包括墙外)几乎没有一个系统的Cplex中文求解器教程. 作为华人运筹学的最大的社区,『运筹OR帷幄』 责无旁贷, ...
- Python代写CSSE1001/7030 python程序作业、代做python CSSE1001/7030程序作业、 代写CSSE1001/7030 python 作业...
Python代写CSSE1001/7030 python程序作业.代做python CSSE1001/7030程序作业. 代写CSSE1001/7030 python 作业 Uno++ Assignm ...
最新文章
- LeetCode【位运算】371. 两整数之和
- 2017-11-15 软件包 java.io学习
- Win8装SQL2008需要离线安装 .Net3.5
- 计算机专业会议评级,2018计算机专业工程教育认证研讨会
- MFC初探 —— 子窗体相对于显示屏位置固定
- hdu 6203 ping ping ping(贪心+树状数组+dfs序)
- php 中国姓名验证规则,我想在表单验证中加入中文姓名合法性模糊匹配判断?...
- Docker 视频教程 ( 猿课 )
- 太阳能计算机屏幕是什么材质,电脑显示器表面是什么材质的 什么是液晶玻璃...
- python软件工程师认证证书报考条件_软件工程师怎么考 报考条件是什么
- 安装office2010失败,提示因为安装了office2010早期试用版本或在安装过程中出错
- 子线程与主线程之间的通信
- VMware添加共享硬盘
- 硬盘的Smart信息说明
- LeetCode 43. 字符串相乘【c++/java详细题解】
- touch触摸事件以及常用触摸功能
- 视频号小白如何做出一个赚钱的视频号?
- 英国内政大臣:科技公司给信息加密不可接受
- micropython实现mpy的ota(有用,推荐)
- 大数据项目之电商数仓、业务数据介绍、电商系统表结构