首页 > 其他分享 >购物清单

购物清单

时间:2024-02-28 18:55:27浏览次数:21  
标签:users min 购物 cash Existing print products 清单

#!/usr/bin/env python
#coding:UTF-8

#Python 2.7.x 环境

'购物清单'

import sys

shoopping = 1
cash_error = 0
user_can_buy = 0
already_buy = 0
continue_to_buy = 'y'


already_buy_goods = []



name = {'a':'Apple(a)','b':'Beef(b)','c':'Cigarette(c)','d':'Drinking(d)','p':'P9(p)',}
Existing_products = {'Apple(a)': 50, 'Beef(b)': 100, 'Cigarette(c)': 200, 'Drinking(d)': 500, 'P9(p)': 3000}
min_price = min(Existing_products[i] for i in Existing_products)   #求单价最小值
#print min_price

while shoopping == 1:
    #保证用户输入的信息正确,并不重复空输入3次
    total_cash = raw_input('请输入您的现金数量:').strip()
    users_cash = total_cash
    if len(users_cash) == 0:
        cash_error += 1
        if cash_error < 3:
            Re_enter = raw_input('您的输入有误,是否重新输入:(y or n)').strip()
        elif Re_enter == 'n' or cash_error == 3:
            #print '欢迎下次光临,再见!'
            #sys.exit()
            shoopping = 0                        
        else:
            continue
    #在现金正确的情况下,判断是否足够可以购买商品
    if len(users_cash) != 0:
        cash_error = 0
        print '现有商品信息为:'
        for k,v in  Existing_products.items():
            print '商品名称:%-15s商品价格:%-4s' % (k,v)
        if int(users_cash) < min_price :
            Re_enter_cash = raw_input('您的现金太少,是否重新输入现金数量:(y or n)')
            if Re_enter_cash == 'n':
                #print '欢迎下次光临,再见!'
                #sys.exit()
                shoopping = 0
            else:
                continue 
        #可以购买商品的情况下打印可以购买的商品的清单               
        else:
            users_cash = int(users_cash)
            while users_cash >= min_price and shoopping != 2:
                print '你现在的现金剩余为:%s' % users_cash            
                print '您可以购买的商品为:'                
                for k,v in  Existing_products.items():
                    if v <= users_cash:                                         
                        print '商品名称:%-15s商品价格:%-4s' % (k,v)
                
                if already_buy == 1 :
                    continue_to_buy = raw_input('是否继续购物(y or n):').strip()
                    if continue_to_buy == 'n':
                        shoopping = 2  
                         
                if continue_to_buy != 'n':
                    need_to_buy_goods = raw_input('请输入您要购买的商品的名称代码,一次只能购买一件:').strip()
                    if name.has_key(need_to_buy_goods):
                        print '您已经购买:%s' % name.get(need_to_buy_goods)
                        already_buy_goods.append(name.get(need_to_buy_goods))
                        #print already_buy_goods
                        already_spent = int(Existing_products.get(name.get(need_to_buy_goods)))
                        users_cash -= already_spent
                        already_buy = 1
                    else:
                        print '您输入的商品信息有误'
                        continue

            if users_cash < min_price:
                print '你剩余的金额为:%s' % users_cash , '剩余金额已不足'
                shoopping = 2       
    
    #打印购物清单
    if shoopping == 2:
        #打印购物清单
        already_buy_goods_set = set(already_buy_goods)
        print '\n''\n'
        print '您的购物清单为:'
        print '-------------------------------'
        print '''
%-19s%-12s%-10s ''' % ('商 品 名 称','数 量','总 价')
        for goods in already_buy_goods_set:
            goods_number = already_buy_goods.count(goods)
            goods_total_cost = goods_number * Existing_products.get(goods)
            print '''
%-15s%-10s%-10s''' % (goods,goods_number,goods_total_cost)
        print '==============================='         
        print '此次共消费:%s' % (int(total_cash) - users_cash)
        print '剩余现金为:%s ' % users_cash
                
        shoopping = 0
        
        
    #退出系统    
    if shoopping == 0:
        print '-------------------------------'
        print '欢迎下次光临,再见!'
        print '\n'
        sys.exit()  

 

标签:users,min,购物,cash,Existing,print,products,清单
From: https://www.cnblogs.com/lrtao2010/p/18041454

相关文章

  • 【QBXT 2023 冬】NOIP 突破营 补题清单
    题单:第一部分第二部分题解有时间就写,一般会咕。P5691[NOI2001]方程的解数简单的折半搜索。直接搜索时间复杂度是\(O(m^6)-O(m^6\logp_i)\)的(快速幂),无法通过。考虑优化,首先我们对上面的式子做一个变形:\[\sum_{i=1}^{n}k_ix_i^{p_i}=0\]即\[\sum_{i=1}^{\lfloor\frac......
  • 最佳软件架构书籍终极清单 (2024)
          软件架构是成功开发软件产品的基础。精心设计的软件架构可以大大提高系统的质量。它还有助于降低出错风险,并使将来添加新特性和功能变得更加容易。在这篇博文中,我将为您列出2024年最值得一读的软件架构书籍,以及2024年将出版哪些有趣的软件架构书籍。当然,这些书籍......
  • 如何高效自我规划?日程计划待办清单App
    《礼记·中庸》中有言:“凡事豫则立,不豫则废。”这句话对我来说,不仅是一个生活哲学,也是我管理日常工作和学习的准则。在快节奏的现代生活中,有效的自我规划对于达成目标、提升效率具有不可估量的价值。自我规划的过程包括制定每天的日程计划、记录待办清单、设置提醒、标记完成任务......
  • 如何杜绝员工上班社交聊天、购物、炒股、看电影等行为
    在当今的办公环境中,员工在工作时间内进行社交聊天、购物、炒股、看电影等非工作相关的行为已经成为一种普遍的现象。这些行为不仅影响了员工的工作效率,而且增加了组织数据泄露的风险。那么,如何杜绝这类行为呢?首要的步骤是制订明确的公司政策。必须清楚地向员工传达哪些行为在工......
  • 在K8S中,请问harbor的secret创建能否直接创建资源清单?
    答案:当然可以,在Kubernetes(简称K8S)中,为了允许集群中的Pod能够从Harbor私有仓库拉取镜像,您可以直接通过编写资源清单(YAML文件)来创建一个Secret对象。这个Secret将包含访问Harbor所需的认证信息。以下是一个示例:apiVersion:v1kind:Secretmetadata:name:harbor-registry-secr......
  • 提升员工数据安全意识:抵制工作时间社交聊天、购物炒股等行为
    每个企业都有保护其数据资产的重要责任。然而,员工行为习惯及其对数据安全的认识,将直接影响到企业信息安全的状况。在许多情境下,员工本身并无任何恶意,只是因为缺乏必要的安全知识,或者在工作时间分心至社交聊天、炒股等非工作相关活动,可能无意间就导致了数据泄露。因此,及时提升员工......
  • R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视
    全文链接:http://tecdat.cn/?p=30360最近我们被客户要求撰写关于网络购物用户行为的研究报告,包括一些图形和统计输出。随着网络的迅速发展,依托于网络的购物作为一种新型的消费方式,在全国乃至全球范围内飞速发展电子商务成为越来越多消费者购物的重要途径。我们被客户要求撰写关......
  • Vue3实现加入购物车抛物线效果组件
    前言在前几天的一次迭代中,我遇到了这么一个需求,模仿支付宝首页应用中心的编辑功能,支持编辑首页展示的应用,在支付宝应用首页编辑功能中,我注意到一种独特而细致的设计。无论是增加还是移除某个应用,都会引发一个精美的移动动画效果。这种贴心的设计在用户体验中起到了微妙而关键的作......
  • 2024年重启人生要做的100件事,记录待办清单并打卡完成
    新年伊始,很多人都怀揣着改变自己、追求更美好生活的期望,渴望在2024年做一些有意义的事情,为自己的人生注入新的活力。为了帮助大家更好地实现这些目标,小编整理了一份2024年重启人生要做的100件事待办清单,涵盖了健康美丽、自我提升、享受生活、诗与远方、奖励自己等五个方面。这些......
  • R语言LASSO特征选择、决策树CART算法和CHAID算法电商网站购物行为预测分析
    全文链接:http://tecdat.cn/?p=32275原文出处:拓端数据部落公众号本文通过分析电子商务平台的用户购物行为,帮助客户构建了一个基于决策树模型的用户购物行为预测分析模型。该模型可以帮助企业预测用户的购物意愿、购物频率及购买金额等重要指标,为企业制定更有针对性的营销策略提供......