本文实例为大家分享了Python3实现购物车功能的具体代码,供大家参考,具体内容如下
<>强购物车要求:强>
1,启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表
2,允许用户根据商品编号购买商品
3,用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4,可随时退出,退出时,打印已购买商品和余额
5,在用户使用过程中,关键输出,如余额,商品已加入购物车等消息,需高亮显示
6,用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
7,允许查询之前的消费记录
<强>逻辑图:强>
执行代码:
#?usr/bin/env python3 #作者:罗伯特。 # - * -编码:utf - 8 (*) 设置=False #设置设置当输入为q就可以退出 文件=打开(“购物车用户信息档案. txt”,“r +”,编码=皍tf - 8”) #读取购物车用户信息文件 f=str(以())#将文件内容转化成字符串 f的线: file_str=str (f) data=https://www.yisu.com/zixun/eval (file_str) #将字符串转换为字典数据 name=输入(“输入姓名:”) 密码=输入(“输入密码:") 而真正的: 如果在数据:#用户在档案中 如果密码数据[名字]:#密码和用户名对应,校验正确,登录。 工资=浮动(数据[名字][密码]) 033年(“\ [32;1 m欢迎登录,当前余额为033年% s \ [0 m”“%工资) 打破 其他:#否则密码错误,请重新输入 密码=输入(“密码错误,请重新输入:“) 继续 其他:#否则判断为首次登录,将用户名,密码,工资存到用户信息文件中 password_salary={} salary_str=输入(“欢迎首次登录,请输入你的工资:”) 工资=(salary_str)浮动 password_salary[密码]=工资#工资对应到密码 数据[名字]=password_salary #将密码——工资对应到用户名 file.seek (0) file.write (str(数据)) file.tell () 打破 列表=[#购物清单 (“iphone”, 5800), [" sifei”, 800年), (“苹果笔记本电脑”,17500), ["书",75年), ["苹果",5] ] file_list_r=开放(“历史购物信息. txt”,“r +”,编码=皍tf - 8”) file_list_r=str (file_list_r.read ()) shoppinglist_dict=eval (file_list_r) 如果名字不是shoppinglist_dict: shoppinglist_dict[名字]=[] shoppinglist=shoppinglist_dict[名称] shoppinglist_dict_now=[] 选择=输入(“\ n是否需要查询历史购物记录(y/n):”) 如果选择==皔”: 打印(“\ n \ n - - - - - - - - - - -在历史购物记录& lt; - - - - - - - - - - -”) 打印(shoppinglist) 打印(“- - - - - - - - - - -在结束& lt; - - - - - - - - - - -”) 虽然不是集:#购物车开始 打印(“- - - - - - - - - - -在商品清单& lt; - - - - - - - - - - -”) 指数项列举(列表,1): 打印(指数项) 打印(“- - - - - - - - - - -在结束& lt; - - - - - - - - - - -”) 数量=输入(“请输入想购买商品编号:”) 如果数量==皅”: 设置=True 密码数据[名字][]=str(工资) file.seek (0) file.write (str(数据)) file.tell () 打印(“- - - - - - - - - - -在购物清单& lt; - - - - - - - - - - -”) 打印(shoppinglist) 打印(“您的余额:“哦,工资) 打印(“- - - - - - - - - - -在结束& lt; - - - - - - - - - - -”) shoppinglist.extend (shoppinglist) shoppinglist_dict[名字]=shoppinglist elif number.isdigit ()==False: 打印(“033年\ [31;1 m输入不是编号内容,请重新输入033 \ [0 m”) elif int(数量)在int (len(列表)或int(数量)& lt;=0: #输入值不在清单中,报的错 打印(“\[31岁,1米033您所购买的商品不在清单中033 \ [0 m”) 其他: number_buy=int(数量)1 如果列表[number_buy] [1] & lt;(工资):#如果余额足够,提示购买成功并显示余额。 工资=工资- int [number_buy][1](列表) 味精=' 033年\ [32;1 m您已经将% s加入购物车中,余额为033年% d \ [0 m ' %(列表[number_buy][0],工资) 打印(味精) shoppinglist.append(列表[number_buy]) #将本次购物信息加到购买记录中 其他: 打印(“033年\[31;1米余额不足,无法购买! 033 \ [0 m”) #提示余额不足Python3实现购物车功能