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)  #将字符串转换为字典data

name = 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()
    break

list = [#购物清单
  ["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("---------->结束<----------")

while not set:   #购物车开始
  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 = 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]]}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Python实现购物车购物小程序
  • Python实现购物车程序
  • python简单商城购物车实例代码
  • Python实现的购物车功能示例
  • Python实现购物车功能的方法分析
  • Python 模拟购物车的实例讲解
  • Python初学时购物车程序练习实例(推荐)
  • 利用python实现简单的循环购物车功能示例代码
  • 使用Python的Django框架结合jQuery实现AJAX购物车页面
  • python购物车程序简单代码
(0)

相关推荐

  • python简单商城购物车实例代码

    本文为大家分享一个简单商城购物车的python代码,供大家参考,具体内容如下 要求: 1.写一段商城程购物车序的代码 2.用列表把商城的商品清单存储下来,存到列表 shopping_mail 3.购物车的列表为shopping_cart 4.用户首先输入工资金额,判断输入为数字 5.用户从商城购物清单中选择购买物品,每次购买成功就用工资减去物品单价 6.判断用户金额是否足够,不足够提示用户 7.如果用户不想再继续购物,则按Q键退出菜单 8.用户退出之后,将用户购买的清单打印出来. 9.尽量学习带

  • Python实现购物车购物小程序

    概要 按理说,我们入门的第一个小程序都应该是Hello World.因为比较简单,我这也就不做过多的演示 了. 下面是我写的一个小程序.主要用于练习Python的基本语法,以及入门. 主要实现功能 要求用户输入自己预期消费额度. 展示现有商品信息,要求用户选择 用户选择对应商品标号后(注意判断是否超出预期消费额度等操作),保存到购物车 用户退出后显示购物车信息以及剩余额度情况 代码: #!/usr/bin/env python # -*- coding: utf-8 -*- ""&qu

  • Python 模拟购物车的实例讲解

    1.功能简介 此程序模拟用户登陆商城后购买商品操作.可实现用户登陆.商品购买.历史消费记查询.余额和消费信息更新等功能.首次登陆输入初始账户资金,后续登陆则从文件获取上次消费后的余额,每次购买商品后会扣除相应金额并更新余额信息,退出时也会将余额和消费记录更新到文件以备后续查询. 2.实现方法 架构: 本程序采用python语言编写,将各项任务进行分解并定义对应的函数来处理,从而使程序结构清晰明了.主要编写了六个函数: (1)login(name,password) 用户登陆函数,实现用户名和密码

  • Python实现的购物车功能示例

    本文实例讲述了Python实现的购物车功能.分享给大家供大家参考,具体如下: 这里尝试用python实现简单的购物车程序... 基本要求: 用户输入工资,然后打印购物菜单 用户可以不断的购买商品,直到余额不够为止 退出时打印用户已购买的商品和剩余金额... 代码: #!/usr/env python #coding:utf-8 import re,math def get_customer_salary(): while True: salary=raw_input('Please input

  • 利用python实现简单的循环购物车功能示例代码

    本文主要给大家介绍了关于python实现循环购物车功能的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 示例代码 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s", 5000), ("book python", 81), ("iwach", 3200), ("电视机", 2200) ] def zero(name):

  • Python实现购物车功能的方法分析

    本文实例讲述了Python实现购物车功能的方法.分享给大家供大家参考,具体如下: 1.程序的源代码如下: salary = input('input your salary:') if salary.isdigit: salary = int(salary) else: exit('salary is not digit!!') welcome_msg = 'welcome to our shoping mall' print(welcome_msg.center(50,'-')) produc

  • Python初学时购物车程序练习实例(推荐)

    废话不多说,直接上代码 #Author:Lancy Wu product_list=[ ('Iphone',5800), ('Mac Pro',9800), ('Bike', 800), ('Watch', 10600), ('Coffee', 31), ('Lancy Python', 120) ] #商品列表 shopping_list=[] #定义一个列表来存储已购商品 salary=input("请输入工资:") if salary.isdigit(): #当输入的内容为数字

  • python购物车程序简单代码

    本文实例为大家分享了python购物车程序的具体代码,供大家参考,具体内容如下 代码: ''''' Created on 2017年9月4日 @author: len ''' product_list = [ ('Robot',200000), ('MacPro',12000), ('Iphone8',8888), ('Hello World',1200), ] shopping_list = [] user_salary=input("请输入你的工资:") if user_salar

  • Python实现购物车程序

    本文实例为大家分享了程序:Python购物车程序,具体内容如下 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 如余额不足,可充值 代码: #coding=utf-8 #Version:python 3.6.0 #Tools:Pycharm 2017.3.2 _date_ = '2018/4/16/016 14:50' _author_ = 'Hongyong'

  • 使用Python的Django框架结合jQuery实现AJAX购物车页面

    Django中集成jquery 首先,静态的资源通常放入static文件夹中: static/ css/ djquery.css samples/ hello.css js/ jquery-1.7.1.min.js samples/ hello.js 其中css和js都按照应用名称(这里是samples)划分文件夹,如果文件较多,还可以再划分子文件夹. Django通常使用模板来展现html,而且我们通常使用继承的模板,所以需要将共用的元素,比如全局的css,对jquery.js的引入等,写到b

随机推荐