购物车小程序客户端

要求:

  1.用户输入金额后,就可以选择商品添加进购物车

  2.金额不足扣款时,提示用户余额不足

  3.当用户随时可以退出程序

  4.退出程序后自动保存金额和所购商品

# -*- coding:utf-8 -*-
import time
#分别打开商品列表的储存文件和余额列表的储存文件
with open (‘ware_list‘,‘r‘,encoding = ‘utf-8‘)as ware:
    ware = eval(ware.read())
with open (‘balance‘,‘r+‘,encoding = ‘utf-8‘) as balance:
    balance = eval(balance.read())

shopping_cart = []
warelist = []
#根据商品数量打印商品列表
def ware_list():
    print(‘---------商品列表-----------‘)
    count = 0
    for i in ware:
        count += 1
        print(count,‘.‘,i,‘    ‘,ware[i])
        if i in warelist:
            continue
        else:
            warelist.append(i)
def timmer():
    time.format =‘%Y-%m-%d %X‘
    time.current = time.strft(time.format)
    print(time.current)

#判断是否有余额文件如果有则将余额值赋予工资变量
if balance[‘balance‘] > 0:
    print((‘well come back! ur balance :{0} ur bought list :{1}‘).format(balance[‘balance‘],balance[‘shopping cart‘]))
    shopping_cart.extend(balance[‘shopping cart‘])
    salary = balance[‘balance‘]
else:
    salary = input(‘请输入您的工资:‘)
while True:
    salary = int(salary)
    ware_list()
    choice = input(‘你想购买什么商品?\n (输入Q退出)‘)
        #如果输入为q则可以退出
    if choice.upper() == ‘Q‘:
        request = input(‘请确认是否退出?Y/N‘)
        #
        if request.upper() ==  ‘Y‘:
            break
        elif request.upper()== ‘N‘:
            continue
        else:
            print(‘非法输入!!‘)
            continue
    elif len(choice)<= len(warelist):
        if salary - int(ware[warelist[int(choice)-1]]) > 0:
            shopping_cart.append(warelist[int(choice)-1])
            salary -= int(ware[warelist[int(choice)-1]])
            print((‘您已经购买:{0} 余额为:{1}‘).format(shopping_cart,salary))
            time.format =‘%Y-%m-%d %X‘
            time.current = time.strftime(time.format)
            print(time.current)

        else:
            print(‘您的余额不足购买该商品 请重新选择‘)

    else:
        print(‘请正确输入商品序号!‘)
        continue

#保存余额信息
print((‘您一共购买了{0}件商品,您的余额剩余:{1} 购买了:{2}‘).format(len(shopping_cart),salary,shopping_cart))
with open("balance",‘w‘,encoding=‘utf-8‘)as new:
    new.write("{‘balance‘:%d,‘shopping cart‘:%s}"%(salary,shopping_cart))

缺陷:无法针对回车等非法输入进行限制

思路:因为要求随时可以退出程序  所以减少循环层数是减少工作量提高代码运行效率的最好方式  所以我就只用了一个主循环

时间: 2024-11-03 21:58:53

购物车小程序客户端的相关文章

python路5__购物车小程序练习

1,购物车小程序 需求: (1),启动程序后,打印全部商品列表,用户输入工资 (2),许用户根据商品编号购买商品 (3),用户购买商品,余额不足就退出程序,并打印信息 (4),可随时退出,退出时,打印已购买商品和余额 2,流程图 3,代码 #!/usr/bin/python3 Product_list = [ ('Doido钻戒 ',8000), ('ROLEX手表',20000), ('HuaWei P10',4000), ('AppleWatch',2000), ('Ipad',1000),

简单的购物车小程序

1 # -*- coding:utf-8 -*- #简单的购物车小程序 author:李学松 2 shopping_cart =[] 3 product_list_tatol = "---product list----" 4 welcome = "-----------welcome to shopping marketi----------" 5 product_list = [ 6 ('iphone',5800), 7 ('lenovo',900), 8 ('

Python入门基础---购物车小程序

1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的余额 salary = int (input('你的工资为:')) funds = salary * 0.6 # 取工资的60% #自定义本地商品数据列表[商品名称,价格,库存] menu = [['保留使用,不存数据'],['iPhone7',6000,30],['Notebook',9000,3

python基础练习之购物车小程序

此小程序购物流程为: 启动时欢迎语,提示输入购物预算金额,打印购物菜单,选择商品,商品可重复选择购买,当购物预算金额小于购买商品的金额时,返回购物列表并提示预算金额不足. #!/usr/bin/python # -*- coding:UTF-8 -*- shangpin = {'iphone7':6000,'mate9':5000,'macbook':10000,'note5':3000} yusuan = 30000 gouwu_list = [] print '==欢迎来到大猫商城==' p

python学习笔记——贰之购物车小程序_客户端

客户端大概流程 :买家系统 首先输入买家他的余额,之后会进行,通过文件里的来余额判断他是否上次消费过.如果有信息,就按照文件里的余额计算,替换掉买家输入的余额,如果没有信息证明客户是第一次来,就用买家输入的余额. 然后循环输出商品下标,和商品信息.客户通过下标来选择商品.选择的商品会被加入到 购物车列表 中,然后通过下标[1]得到商品的金额.计算出消费金额,这个消费金额 如果大于余额 那么 从购物车列表里删除这个商品 告知 余额不足,并提示买多少钱以内的商品.每加进一个商品,都会计算购物车的总金

python循环之for循环与模拟购物车小程序

for循环 for 变量 in 范围:     代码块...         contune                 #跳出本次循环接着执行下一次循环     for 变量 in 范围:         代码块...             break              #跳出本层循环,回到上一个for循环 else:                #其实for循环和while循环都有else子句,不过是当循环完全执行了才会执行     代码块...               

新手小白 python之路 Day4 (购物车小程序)

直接上需求: 购物车程序需求启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检查余额是否足够,够就直接扣款,不够就提醒可以随时退出,退出时,打印已购买商品和余额 一个比较简单的程序,使用列表操作写的,写了六个函数 Abnormal() 通过抛出异常来判断输入的编号是否合法 Commodity()取出该商品参数 名称 价格 AddShoppingCart() 添加到购物车 Shopping() 判断工资能否购买该商品,能的话加入到购物车 PrintLibra

购物车小程序

# __author__:Nathaniel # 2017/6/12 # 登录 user_name = 'name' password = 'password' login_flag = False # 成功登录则为True for i in range(3): input_name = input('please input the account num:') input_password = input('please input the password:') # 账户校验 if use

Python之路 day2 购物车小程序1

1 #Author:ersa 2 ''' 3 程序:购物车程序 4 5 需求: 6 7 启动程序后,让用户输入工资,然后打印商品列表 8 允许用户根据商品编号购买商品 9 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 10 可随时退出,退出时,打印已购买商品和余额 11 12 #知识点:len(market):列表长度(列表中的条目个数) 13 isdigit() 判断输入的内容是否是数字,TRUE 是数字 14 取列表数据 enumerate 15 for index,item i