实现购物车购物功能----优化版本

第一版简单版:

while True:
 sar=input(‘请输入工资:‘)
 if sar.isdigit():
     sar=int(sar)
     break
 else:
     print(‘请输入正确格式!‘)
th=[[‘macbook‘,7000],[‘iphone‘,5000],[‘coffee‘,90],[‘pythonbook‘,40]]
for i in th:
    print(th.index(i),i)
lis=[]
flag=‘t‘
while flag!=‘q‘:
    s = int(input(‘请输入你需要的商品序号:‘))
    k=0
    for j in lis:
        k=k+j[1]
    if int(th[s][1])+int(k) > sar:
        print(‘余额不足‘)
    else:
        lis.append(th[s])
        sar=sar-k
        print(‘当前余额是:%d‘%(sar-int(th[s][1])-int(k)))
    flag=input(‘还要购买吗?y/q‘)
    if flag ==‘q‘:
        print(‘您已购买的商品:‘)
        for m in lis:
            print(m)
        print(‘您的余额是%d‘%(sar-int(th[s][1])-int(k)))
        print(‘欢迎再次光临‘)

第二版修改----知识点:(1)列表和元组可以用多个变量接受,这样易于操作(2)商品序号加判断

while True:
 sar=input(‘请输入工资:‘)
 if sar.isdigit():
     sar=int(sar)
     break
 else:
     print(‘请输入正确格式!‘)
th=[[‘macbook‘,7000],[‘iphone‘,5000],[‘coffee‘,90],[‘pythonbook‘,40]]

for i,v in enumerate(th,1):
    print(i,‘>>>>‘,v)

#以上是对实现输入工资是否合理的判断,不合理重新输入
#输入的商品序号做判断:1.非数字2.退出3.超过长度4.空格---嵌套判断
lis=[]
while True:
    s = input(‘请输入你需要的商品序号,退出请输入q:‘)
    if s.isdigit() and 0<=int(s)<len(th) :
        s= int(s)
        if sar> th[s][1]:
            lis.append(th[s])
            sar = sar - th[s][1]
            print(‘当前余额是:%d‘%(sar))
        else:
            print(‘当前余额不足‘)
    elif s==‘q‘:
        if lis==[]:
            print(‘您未购买任何商品‘)
            break
        else:
            print(‘您已购买的商品:‘)
            for m in lis:  # 遍历已购买的商品
                print(m)
            print(‘您的余额是%d‘ % (sar),‘欢迎再次光临‘)
            break
    else:
        print(‘请输入正确的序号‘)

原文地址:https://www.cnblogs.com/duguxiren/p/11622601.html

时间: 2024-08-05 09:48:47

实现购物车购物功能----优化版本的相关文章

ATM购物车部分功能

额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠款总额 万分之5 每日计息 支持多账户登录 支持账户间转账 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接口,包括添加账户.用户额度,冻结账户等... 用户认证用装饰器 思维导图 目录结构 atm作业 ├── README ├── atm #ATM主程目录 │ ├── bin #ATM 执行文件 目录 │ │ ├── __i

超市购物功能,会员卡功能,会员卡积分查询功能,会员卡奖品功能,自己练手函数程序

函数自己练手一晚上敲的,各位博主可以走过路过可以来瞧瞧,欢迎评价提需求哈哈 total_prices = 0 def chiose(action): '''0是注册功能,1是会员卡系统,2是购物功能,3是会员查找积分功能,4为会员积分兑换功能''' #注册功能 if action == 0: # 注册内容 def register(): while True: print('注册账号'.center(50, "-")) name = input('请输入账号').strip() pri

wzplayer for ios 针对(mms)优化版本V1.0

wzplayer for ios针对mms优化版本发布. 1.支持mms,http,rtmp,rtsp等协议 2.支持全格式 下载地址:http://www.coolradio.cn/WzPlayer.ipa 更强大的,请使用tlplayerhttp://blog.csdn.net/tigerleap/article/details/19007057 联系方式:[email protected] QQ:514540005 版权所有,禁止转载. 发布自:http://blog.csdn.net/t

python实现简单的循环购物车小功能

python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s", 5000), ("book python", 81), ("iwach", 3200), ("电视机", 2200) ] def zero(name): if len(name) == 0: print("\033[31;1m您的输

Android录制声音,并播放,功能优化

之前,写过一篇关于安卓录制音频的博客,里面有些问题没有解决,这里,做一个优化 之前的那个博客, http://blog.csdn.net/u014620028/article/details/51283261 优化的地方:有多个音频文件,点击A,播放,A在播放过程中,如果点击A,停止播放:如果点击B,A停止,播放B.类似于QQ的语音播放 现在的功能优化,是在之前的基础上进行的,所以这里只写优化的地方 1.工程目录结构 新加了这个播放工具类 源码: package com.chen.voicede

微信小程序之购物车的功能

1.购物车里面功能无非就是删除商量,增加(减少)数量,单全选,商品合计 2.这段代码var cartItems = this.data.cartItems  获取购物车里面的商品,之后在通过下标e.currentTarget.dataset.index来获取当前的商品   选择事件(单全选) //单选 select:function(e){ var CheckAll = this.data.CheckAll; CheckAll = !CheckAll var cartItems = this.d

上传下载优化版本

server------------ #!/usr/bin/env python # encoding: utf-8  # Date: 2018/6/7 import socketimport osimport jsonimport struct shar_dir = r'E:\python\PycharmProjects\python.base.demo\model3\socket1\上传下载\优化版本\server\share' def put(conn, cmds):    obj = c

搜狗拼音输入法v9.6a (9.6.0.3568) 去广告精简优化版本

https://yxnet.net/283.html 搜狗拼音输入法v9.6a (9.6.0.3568) 去广告精简优化版本 软件大小:29.2 MB 软件语言:简体中文 软件版本:去广告版 软件授权:免费 软件类别:实用工具 应用平台:Windows 您当前的等级为 游客 已取得下载权限 https://pan.baidu.com/s/1CLGUm6BGuVnpOr5GJRgCUg#list/path=%2F&parentPath=%2Fsharelink2503292984-53850638

Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config)

Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config) # $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $ # If you want to change the port on a SELinux system, you have to tell # SELinux about this change. # semanage port -a -t ssh_port_t -p tcp #PORTN