python购物车实现的功能是什么_Python3实现购物车功能

Python3实现购物车功能

来源:中文源码网    浏览: 次    日期:2018年9月2日

【下载文档:  Python3实现购物车功能.txt 】

(友情提示:右键点上行txt文档名->目标另存为)

Python3实现购物车功能 本文实例为大家分享了Python3实现购物车功能的具体代码,供大家参考,具体内容如下购物车要求:

1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表

2、允许用户根据商品编号购买商品3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4、可随时退出,退出时,打印已购买商品和余额5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示6、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买7、允许查询之前的消费记录

逻辑图:执行代码:#!/usr/bin/env python3

# Author: Robert

# --*-- coding: utf-8 --*--set = False #设置set 当输入为q就可以退出

file = open("购物车用户信息档案.txt","r+",encoding="utf-8") #读取购物车用户信息文件

f = str(file.read()) #将文件内容转化成字符串

for line in f:

file_str = str(f)

data = eval(file_str) #将字符串转换为字典dataname = input("输入姓名:")

password = input("输入密码:")

while True:

if name in data: #用户在档案中

if password in data[name]: #密码和用户名对应,校验正确,登录。

salary = float(data[name][password])

print('''\033[32;1m欢迎登录,当前余额为%s\033[0m'''%salary)

break

else: #否则密码错误,请重新输入

password = input("密码错误,请重新输入:")

continue

else: #否则判断为首次登录,将用户名,密码,工资存到用户信息文件中

password_salary = {}

salary_str = input("欢迎首次登录,请输入你的工资:")

salary = float(salary_str)

password_salary[password] = salary #工资对应到密码

data[name] = password_salary #将密码-工资对应到用户名

file.seek(0)

file.write(str(data))

file.tell()

breaklist = [#购物清单

["iphone",5800],

["sifei",800],

["macbook",17500],

["book",75],

["apple",5]

]file_list_r = open("历史购物信息.txt","r+",encoding="utf-8")

file_list_r = str(file_list_r.read())

shoppinglist_dict = eval(file_list_r)

if name not in shoppinglist_dict:

shoppinglist_dict[name] = []

shoppinglist = shoppinglist_dict[name]

shoppinglist_dict_now = []

choose = input("\n是否需要查询历史购物记录(y/n):")

if choose == 'y':

print("\n\n---------->历史购物记录 print(shoppinglist)

print("---------->结束 print("---------->商品清单 for index,item in enumerate(list,1):

print(index,item)

print("---------->结束 number = input("请输入想购买商品编号:")

if number == "q":

set = True

data[name][password] = str(salary)

file.seek(0)

file.write(str(data))

file.tell()

print("---------->购物清单 print(shoppinglist)

print("您的余额:",salary)

print("---------->结束 shoppinglist.extend(shoppinglist)

shoppinglist_dict[name] = shoppinglist

elif number.isdigit() == False:

print("\033[31;1m输入不是编号内容,请重新输入\033[0m")

elif int(number)>int(len(list)) or int(number)<= 0: #输入值不在清单中,报错

print("\033[31;1m您所购买的商品不在清单中\033[0m")

else:

number_buy = int(number)-1

if list[number_buy][1] salary = salary - int(list[number_buy][1])

msg = '\033[32;1m您已经将%s加入购物车中,余额为%d\033[0m'%(list[number_buy][0],salary)

print(msg)

shoppinglist.append(list[number_buy]) #将本次购物信息加到购买记录中

else:

print("\033[31;1m余额不足,无法购买!\033[0m") #提示余额不足

购物车用户信息档案.txt{'name': {'password': '10000'}, 'cx': {'123': '725.0'}, 'robert': {'qw': '440.0'}, 'cv1': {'1': 100.5}, 'ROBERT': {'QW': 1560.0}, 'qwe': {'qw': '1555.0'}}历史购物信息.txt{'name': [['iphone', 5800],['bike', 800]], 'cx':[['iphone', 5800],['apple', 5],['apple', 5], ['book', 75]]}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。

亲,试试微信扫码分享本页! *^_^*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

杭电考研计算机专业课_杭州电子科技大学计算机考研专业课平均分76.03,国家线复试是这个原因!...

杭电计算机学院是计算机类报考热门&#xff0c;2019考研英语数学开始统一采用英语一数学一&#xff0c;不分学硕专硕还是非全日制&#xff1b;今年复试线已出&#xff0c;除计算机技术专硕复试线280分&#xff0c;高于国家线&#xff0c;其余专业均是国家线270分复试&#xff1…

网络工程属于计算机哪一类,网络工程专业属于什么门类

在高考志愿填报的时很多考生和家长都不知道网络工程专业属于什么门类&#xff0c;很是影响考生的志愿填报专业选择&#xff0c;下面有途网小编根据考生的要求整理出网络工程专业属于工学类提供给大家&#xff0c;希望能够帮助考试顺利的填报好自己的专业。网络工程专业介绍专业…

[003]容器和动态数组的使用

例&#xff1a; 编写程序读入一组 string 类型的数据&#xff0c;并将它们存储在vector 中。接着&#xff0c;把该 vector 对象复制给一个字符指 针数组。为 vector 中的每个元素创建一个新的字符数 组&#xff0c;并把该 vector 元素的数据复制到相应的字符数组 中&#xff0c…

linux 查看显卡信号_Linux下如何查看NVIDIA显卡信息

匿名用户1级2015-07-28 回答lspci | grep -i vga这样就可以显示机器上的显卡信息&#xff0c;比如[rootlocalhost conf]# lspci | grep -i vga01:00.0 VGA compatible controller: nVidia Corporation Device 1081 (rev a1)02:00.0 VGA compatible controller: nVidia Corpora…

用计算机演奏打上花火,米津玄师打上花火歌词中文谐音(最好要简单全面)

满意答案.Ador2020.03.19采纳率&#xff1a;60% 等级&#xff1a;14已帮助&#xff1a;2446人打上花火 - 《升起的烟花&#xff0c;从下面看&#xff1f;还是从侧面看&#xff1f;》主题曲 词&#xff1a;米津玄师 曲&#xff1a;米津玄师xDAOKO有些地方一些音不对请见谅哈 …

Hibernate自动提交命令强制MySQL在过多的磁盘I / O中运行

亲爱的大家&#xff0c; 我敢肯定&#xff0c;你们中的许多人都在使用Hibernate和MySQL&#xff0c;我自己在这里和那里都使用它。 通常&#xff0c;编程模型是不错的&#xff0c;但是普通的JDBC可以快得多已经不是什么秘密了。 在这篇文章中&#xff0c;我想引起您的注意Hibe…

两个向量之间的夹角公式_关于平面向量夹角求参数取值范围的两种基本解法介绍...

平面向量的夹角问题是考察高中向量知识掌握程度的常考内容&#xff0c;主要涉及到的知识点是平面向量的数量积公式。在这里介绍一道常见的平面向量题目&#xff0c;通过两种最基本的解法&#xff0c;来帮助同学们理解向量之间的夹角。填空题第15题&#xff1a;设平面向量a(-2&a…

一些基本概念的总结

web窗体页&#xff1a; 可以使用web窗体页来创建可编程的web页&#xff0c;这些web页用作web应用程序的用户界面。web窗体页在任何浏览器或客户端设备中像用户提供信息&#xff0c;并使用服务器代码来时间应用逻辑。web窗体页输出几乎可以包含任何支持http的语言。 HTML控件&am…

宿迁学院的计算机系怎么样,宿迁学院是几本 学生评价怎么样好不好(10条)

宿迁学院是几本 学生评价怎么样好不好(10条)考生之前的努力奋斗就是为了高考报志愿时有更多的底气和把握。而俗话说&#xff0c;三分考、七分报&#xff0c;有很多考生和家长都还不太了解大学的一本、二本、三本之分&#xff0c;本科高校只有一个层次和等级&#xff0c;就是(本…

Google Guava:您永远不会知道的5件事

每个开发人员都可以使用哪些鲜为人知的Google Guava功能&#xff1f; 它是那里最受欢迎的库之一&#xff0c;它是开源的&#xff0c;您可能已经知道了&#xff0c;它来自人们玩Quidditch作为一项真正的运动的地方&#xff08;至少在The Internship上 &#xff09;。 它不是哈利…

hql中获取前一天的数据_PostgreSql 怎么获取数据库中关键系统信息(一)

如何通过SQL 的方式获得数据库中的一些关键信息&#xff0c;是一个DB最正常的工作&#xff0c;如何通过一些SQL来获得PG的一些关键的参数和信息或者是数据库中的一些信息是需要知道的一件事情。以下是部分 1一般来说每种数据库中都有一个或几个系统的数据库&#xff0c;在PG中s…

计算机信息技术为教育带来的变化,信息技术对课堂教学带来的变化

信息技术对课堂教学带来的变化谈一谈信息技术对教育教学的影响以及给课堂教学带来的变化龙川县培英学校 骆俊武在信息技术迅速发展的今天&#xff0c;计算机的应用、网络技术应用&#xff0c;直接影响着学校的的教育教学系统、学校的教育模式、教第一文库网师的教学方法。与传统…

abd shell关闭所有程序_一个 Shell 脚本逆袭的规范,拿走不谢

指定一个默认脚本解释器“#!” 是一个约定的标记&#xff0c;它告诉系统这个脚本需要什么解释器来执行&#xff0c;即使用哪一种Shell。他指明了当我们没有指定解释器的时候默认的解释器。为什么建议要在首行加上脚本默认解释器&#xff0c;因为有的操作系统的默认解释器不是sh…

html比赛项目,趣味运动会最新个人比赛项目

趣味运动会中也有很多个人能参加的趣味比赛项目。今天小编就与大家分享趣味运动会个人赛项目&#xff0c;仅供大家参考!趣味运动会个人赛项目一&#xff1a;《懒惰的自行车》在前面车筐上放标志规则&#xff1a;自行车在规定的跑道上(约50厘米宽&#xff0c;15米长的跑道)行驶&…

CentOS 6.3 下编译Nginx(笔记整理)

1. 安装关联程序 [rootlocalhost opt]# yum search gcc [rootlocalhost opt]# yum install gcc-c [rootlocalhost opt]# yum install make [rootlocalhost opt]# yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel2. 下载Nginx [rootlocalhost files]# ta…

unity 是厘米还是米_1种“竹节参”,植株有40厘米高,能挂果,果子成熟后变红,珍贵...

很多顽强的野生植物会在竹林里生长&#xff0c;我们都知道价值比较高的七叶一枝花、金线莲等植物&#xff0c;就会生长在湿润的竹林里&#xff0c;它们喜欢湿度比较高的环境&#xff0c;所以在其它比较潮湿的地方也有。不过还有1种“竹节参”&#xff0c;它在竹林里也是常见的&…

计算机主板diy,Pc-硬件-装机DIY-〖菜鸟入门篇〗电脑主板图解

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼主板(线路板)是如何制造出来的呢&#xff1f;PCB的制造过程由玻璃环氧树脂(Glass Epoxy)或类似材质制成的PCB“基板”开始。制作的第一步是光绘出零件间联机的布线&#xff0c;其方法是采用负片转印(Subtractive transfer)的方式将…

JS中的三种弹框

1.alert();"弹框提示" 2.confirm();“确认信息”3.prompt();"输入信息"转载于:https://www.cnblogs.com/hr2014/p/3637692.html

python 窗口 网页 访问_同事用Python操控浏览器运行,引的妹子围观不止!

Python可以做的事情很多&#xff0c;小编也正在奋力挖掘中&#xff0c;今天给大家分享一下&#xff0c;如何用Python来控制浏览器的运行及操作&#xff01;嗯 关于这个&#xff0c;大体有两种方式&#xff0c;且听小编一一列举&#xff1a;一、使用系统自带库 os这个方法的话任…

获取打开文件的路径和文件名

System.IO.Path.GetFileName(filename) //返回带扩展名的文件名System.IO.Path.GetFileNameWithoutExtension(filename) //返回不带扩展名的文件名 System.IO.Path.GetFullPath(filename) //返回文件所在目录及文件名 System.IO.Path.GetDirectoryName(filename) //返回文件所在…