opop = [
('Iphone', 9800),
('Bike', 800),
('Mac Pro', 12000),         #定义商品列表
('Pyhon book', 120),
('Telas', 429800),
('Memory', 7000),
('hard', 4000),
('Upan', 90),
]
shopping_list = []
salary = input("请输入你的工资: ")          #输入工资
if salary.isdigit():                  #判断输入的是不是数字
  salary = int(salary)              #将工资转换为整形
  while True:                 #死循环入口
    for index, item in enumerate(opop):          #打印商品列表,同时把下标也打印出来
      print(index, item)
    user_choice = input("---> 请输入你要买的商品编号: ") #让用户选择买什么商品
    if user_choice.isdigit():                 #判断用户输入是不是数字类型
      user_choice = int(user_choice)                 #将用户输入的更改为整形
      if user_choice < len(opop) and user_choice >= 0:   #判断用户的输入是否大于列表的长度
        p_item = opop[user_choice]          #通过下标把商品取出来
        if p_item[1] <= salary:             #如果该商品价格小于当前的工资,表示买的起
          shopping_list.append(p_item)       #把取来的商品添加到已购买列表中
          salary -= p_item[1]                 #从工资中自动扣钱,并打印出已买商品和工资所剩数目
          print(" %s 已添加到购物车,您目前的余额还剩 \033[31;1m%s\033[0m 元\n\n" % (p_item, salary))
        else:                     #买不起则执行该句
          print("你的余额只剩 \033[41;1m%s\033[0m 元已不足购买该商品\n\n" % salary)
      else:
        print("---> 该商品不存在 <---")
        break
    elif user_choice == 'q':
      print('-'*20, "已购买清单", '-'*20)
      for i in shopping_list:
        print(i)
      print("您的当前余额还剩: ", salary)
      exit()
    else:
      print("invalid option")

----------------------------------- 片段解释分割线 -----------------------------------

while True下面的enumerate语法示例:

a = [1,2,3]
for i in enumerate(a):print(i)
输出结果:(把列表的下标都打印出来)
(0, 1)
(1, 2)
(2, 3)

python 3.6练习题(仿购物车)的更多相关文章

  1. Python之基础练习题

    Python之基础练习题 1.执行 Python 脚本的两种方式 2.简述位.字节的关系 解:8位是一个字节 3.简述 ascii.unicode.utf-8.gbk 的关系 4.请写出 “李杰” 分 ...

  2. C#&JQuery非缓存式无刷新临时存储数据之仿购物车功能

    感谢广大博问博友的帮助和共同研究讨论,终于实现了一个无缓存无刷新仿购物车的小功能: 一.实现效果简述: 有一种列表,是由双层Repeater嵌套,第一层用来显示类别,第二层用来显示类别下的商品数据, ...

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

    python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s&quo ...

  4. js实现仿购物车加减效果

    代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...

  5. Python:程序练习题(二)

    Python:程序练习题(二) 2.1温度转换程序. 代码如下: t=input("请输入带符号的温度值(如:32C):") if t[-1] in ["C", ...

  6. python 基本数据类型练习题

    练习题一.元素分类有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中.即: {' ...

  7. python装饰器练习题

    练习题1. 请使用python, 对下面的函数进行处理, def hello(name): print "hello, %s" % name 在函数被调用时打印耗时详情 <f ...

  8. Python学习(一):编写购物车

    1.购物车流程图: 2.代码实现: #!/usr/bin/env python #coding=utf-8 ChoiceOne =''' 1.查看余额 2.购物 3.退出 ''' ChoiceTwo ...

  9. python 基础篇练习题

    一.练习题 # 1.统计元组中所有数据属于字符串的个数,提示:isinstance() # 数据:t1 = (1, 2, '3', '4', 5, '6') # 结果:3 # 2.将以下数据存储为字典 ...

随机推荐

  1. Mysql锁原理浅谈

    锁类型/引擎 行锁 表锁 页锁 MyISAM 有 InnoDB 有 有 BDB(被InnoDB取代) 有 有 锁的分类 表锁:开销小,加锁快,不会死锁,粒度大,冲突率高,并发低. 行锁:开销大,加锁慢 ...

  2. Linux常用基本命令:三剑客命令之-awk基础用法

    awk是一个超级强大的文本格式化处理工具,他与grep, sed命令被成为linux 三剑客命令 三剑客命令的特点: grep:只要用来匹配和查找文本 sed: 编辑匹配到文本 awk: 格式化文本, ...

  3. 网络编程学习二(IP与端口)

    InetAddress类 封装计算机的ip地址,没有端口 // 使用getLocalHost方法创建InetAddress对象 InetAddress addr = InetAddress.getLo ...

  4. 【c++】删除string中指定的字符

    使用string::iterator(字符串迭代器)从开始 str.begin() 迭代到最后 str.end() ,再使用string.erase(const_iterator p)函数来删除迭代器 ...

  5. 在vue配置sass

    先npm两个插件 npm install sass-loader --save-dev npm install node-sass --save-dev 然后在webpack当中配置 { test: ...

  6. Power BI 与 Azure Analysis Services 的数据关联:2、Azure Analysis Services与 本地版本的 SQL Analysis Services 连接

    Power BI 与 Azure  Analysis Services 的数据关联:2.Azure  Analysis Services与 本地版本的 SQL   Analysis Services ...

  7. excel单元格内换行的方法

    方法一:调整单元格格式换行 选定单元格,选择“格式→单元格”,在弹出的对话框中单击“对齐”,选中“自动换行”,单击[确定]按钮即可. 方法二:Alt+Enter键(使用强行换行时,系统会同时选择自动换 ...

  8. python第六十五天--python操作mysql

    pymysql模块对mysql进行 import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1', port=3306, user='ro ...

  9. SpringBoot整合Rabbitmq设置消息请求头

    String str = "{\"origin\":\"BBC\",\"origin_coupon_id\":51,\" ...

  10. 將UNITY作品上傳到Facebook App!

    前言 大家好,今天要來介紹如何用UNITY 將製作好的遊戲上傳到Facebook,也就是Facebook App.近期Facebook與Unity合作而推出了新的插件,利用插件可上傳分數.邀請好友.P ...