专栏首页http://www.cnblogs.compython元组与购物车程序

python元组与购物车程序

#Author:zww
'''
程序:购物车程序
需求:
     1.启动程序后,让用户输入工资,然后打印呢商品列表
     2.允许用户根据商品编号购买商品
     3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒
     4.可随时退出,退出时,打印购买的商品和余额
'''
product_list = [
    ('iphone7',6000),
    ('book',150),
    ('bike', 1000),
    ('bag', 300),
]
shopping_list = []
salary = input("Input you salary please:")
if salary.isdigit():
    salary = int(salary)
    while True:
        for index,item in enumerate(product_list):
            print(index,item)
        user_choise = input("你要买什么?>>>:")
        if user_choise.isdigit():
            user_choise = int(user_choise)
            if user_choise < len(product_list) and user_choise >=0:
                p_item = product_list[user_choise]
                if p_item[1] <= salary:
                    shopping_list.append(p_item)
                    salary -= p_item[1]
                    print("买了 %s ,还剩下 %s元" % (p_item,salary))
                else:
                    print("你的余额剩下 %s 元,买个毛线" %salary )
            else:
                print("你选择的编号 %s 无效" %user_choise)
        elif user_choise == 'q':
            print("-------shopping list-------")
            for p in shopping_list:
                print(p)
            exit()
        else:
            print("invaliad option")

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python之路-day1-if...else...流程判断

    判断输入的用户名: #Author:zww _username = "zww" _password = "123" username = input("user...

    用户1679793
  • python之路-day1-while循环

    while Thue: (条件为真无限循环)  break(跳出循环) 猜年龄: #Author:zww age_of_jay = 40 count = 0 w...

    用户1679793
  • python入门基础

    字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中引号包括单引号和双引号。这种灵活性能够在字符串中包含引号和撇号,如:

    用户1679793
  • “误入”清华夸夸群?一行Python代码帮你写个机器人

    我想这个功能AINLP双语聊天机器人无名可以有啊,虽然还做不到高级的个性化,但是最简单的起码是可以做到的,所以说干就干,用一行Python代码实现了这个功能: ...

    AI科技大本营
  • python写的九九乘法表

    py3study
  • 深入了解python列表(LIST)

    Python 内置的四种常用数据结构:列表(list)、元组(tuple)、字典(dict)以及集合(set)。

    砸漏
  • python 数据库查询返回list或tuple实例

    MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictC...

    砸漏
  • 成员网研会:Flink操作器 = Beam-on-Flink-on-K8s(视频+PDF)

    讲者:Aniket Mokashi,工程经理 @谷歌;Dagang Wei,软件工程师 @谷歌

    CNCF
  • vue项目使用axios对接第三方api,并做跨域处理

    在 config/index.js 中的 的dev 添加以下代码,设置一下proxyTable

    宋天伦
  • 让你的HMI开启VNC骚操作

    嵌入式开发中,经常会有人机界面的开发,如果你的板子有网口的话,可以开启VNC功能,这样就可以同步HMI到PC,平板,或者手机。亲测效果非常棒。以emWin的VN...

    用户1605515

扫码关注云+社区

领取腾讯云代金券