1. product_list = [
  2. ('MacBook', 9000),
  3. ('kindle', 500),
  4. ('tesla', 900000),
  5. ('book', 100),
  6. ('bike', 2000),
  7. ]
  8.  
  9. saving = input("please input your money:")
  10. shopping_car = []
  11.  
  12. if saving.isdigit():
  13. saving = int(saving)
  14.  
  15. while True:
  16. #打印商品内容
  17. for i, v in enumerate(product_list, 1):
  18. print(i, ">>>", v)
  19.  
  20. #引导用户选择商品
  21. choice = input("choose goods that you want to buy[exit:q]:")
  22.  
  23. #验证输入是否合法
  24. if choice.isdigit():
  25. choice = int(choice)
  26. if choice > 0 and choice <= len(product_list):
  27.  
  28. #将用户选择商品通过choice选出
  29. p_item = product_list[choice - 1]
  30.  
  31. #如果钱足够,用saving减去商品价格,并将该商品加入购物车
  32. if p_item[1] <= saving:
  33. saving -= p_item[1]
  34. shopping_car.append(p_item)
  35.  
  36. else:
  37. print("-----------------")
  38. print("Sorry, your balance is not enough.")
  39. print("Your balance: " + str(saving))
  40. print("-----------------")
  41. continue
  42. print("-----------------")
  43. print("You have chose " + p_item[0])
  44. print("Your balance: " + str(saving))
  45. print("-----------------")
  46. else:
  47. print("Non existent")
  48. elif choice == 'q':
  49. print("---------------")
  50. print("You have chose the following goods:")
  51. print("Goods\t\tnumber\tPrice")
  52.  
  53. num = 1
  54. #循环遍历购物车里面的商品,购物车存放的是已买商品
  55. for i in shopping_car:
  56. print(i[0] + "\t\t" + str(num) + "\t\t" + str(i[1]))
  57. print()
  58. print("balance :", saving)
  59. print("---------------")
  60. break
  61.  
  62. else:
  63. print("invalid input")

Python小代码_3_购物车的更多相关文章

  1. Python小代码_2_格式化输出

    Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...

  2. Python小代码_1_九九乘法表

    Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...

  3. python小练习之三---购物车程序

    购物车购物的例子 严格来讲,这个例子相对大一些 功能也稍完备一些,具有用户登录,商品上架,用户购物,放入购物车,展示每个用户的购物车里的商品的数量,用户账户余额,支持用户账户充值等 下面展示的代码有些 ...

  4. Python小代码_4_省市区三级菜单

    menu = { "北京": { "朝阳区": { "三环到四环之间": {}, "四环到五环之间": {}, &quo ...

  5. Python小程序之购物车

    需求: 用户入口: 1.商品信息放在文件中,从文件中读取 2.已购商品,余额记录,第一要输入起始金额,以后不需要二次输入 商家入口: 2.可以添加商品,修改商品价格 # Author:Lee Siri ...

  6. Python小代码_14_交换 2 个变量的 3 种方式

    a = 4 b = 5 #第一种 c = a a = b b = c print(a, b) #输出结果 #5 4 #第二种 a = a + b b = a - b a = a - b print(a ...

  7. Python小代码_13_生成两个参数的最小公倍数和最大公因数

    def demo(m, n): if m > n: m, n = n, m p = m * n while m != 0: r = n % m n = m m = r return (int(p ...

  8. Python小代码_12_生成前 n 行杨辉三角

    def demo(t): print([1]) print([1, 1]) line = [1, 1] for i in range(2, t): r = [] for j in range(0, l ...

  9. Python小代码_11_生成小于 n 的裴波那契数列

    def fib(n): a, b = 1, 1 while a < n: print(a, end=' ') a, b = b, a + b fib(100000) #输出结果 #1 1 2 3 ...

随机推荐

  1. Linux进程管理:后台启动进程和任务管理命令

    一.为什么要使程序在后台执行 我们的应用有时候要运行时间很长,如:几个小时甚至几个星期,我们可以让程序在后台一直跑. 让程序在后台运行的好处有: 终端关机不影响后台进程的运行.(不会终端一关机或者网络 ...

  2. ELK学习总结(4-1)elasticsearch更改mapping(不停服务重建索引)

    elasticsearch更改mapping(不停服务重建索引)原文 http://donlianli.iteye.com/blog/1924721Elasticsearch的mapping一旦创建, ...

  3. MongoDB GridFS 存储大文件

    我们经常会遇到这样的场景:上传/下载文件. 有两种思路可以解决这个问题: (1)将文件存储在服务器的文件系统中: (2)将文件存储在数据库中. 如果我们选择(2),那么我们可以使用MongoDB Gr ...

  4. 重启Apache报错

    重启Apache报错,如图所示:server: /etc/httpd/modules/mod_jk.so: wrong ELF class: ELFCLASS64 原因:mod_jd的版本有问题 解决 ...

  5. 【Vue中的swiper轮播组件】

    <template> <swiper :options="swiperOption" ref="mySwiper"> <!-- s ...

  6. Ecplise 配置本地 https 测试

    今天做项目,需要关联Office 365.为了实现Office365的用户邮件信息与项目的实时同步,需要建立webhook订阅. Office 365 API 连接  https://graph.mi ...

  7. hdu-2602&&POJ-3624---01背包裸题

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2602 https://vjudge.net/problem/POJ-3624 都是01背包的裸题 这 ...

  8. ZOJ-1586 QS Network---最小生成树Prim

    题目链接: https://vjudge.net/problem/ZOJ-1586 题目大意: 首先给一个t,代表t个测试样例,再给一个n,表示有n个QS装置,接下来一行是n个QS装置的成本.接下来是 ...

  9. 新手创建Vue项目

    ======================安装vue=============================(参考网址:http://www.bubuko.com/infodetail-21320 ...

  10. 搭建自己的maven私服 必过

       教你一步一步搭建自己的maven私服 一. 应用场景 有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私 ...