Python小代码_3_购物车
- product_list = [
- ('MacBook', 9000),
- ('kindle', 500),
- ('tesla', 900000),
- ('book', 100),
- ('bike', 2000),
- ]
- saving = input("please input your money:")
- shopping_car = []
- if saving.isdigit():
- saving = int(saving)
- while True:
- #打印商品内容
- for i, v in enumerate(product_list, 1):
- print(i, ">>>", v)
- #引导用户选择商品
- choice = input("choose goods that you want to buy[exit:q]:")
- #验证输入是否合法
- if choice.isdigit():
- choice = int(choice)
- if choice > 0 and choice <= len(product_list):
- #将用户选择商品通过choice选出
- p_item = product_list[choice - 1]
- #如果钱足够,用saving减去商品价格,并将该商品加入购物车
- if p_item[1] <= saving:
- saving -= p_item[1]
- shopping_car.append(p_item)
- else:
- print("-----------------")
- print("Sorry, your balance is not enough.")
- print("Your balance: " + str(saving))
- print("-----------------")
- continue
- print("-----------------")
- print("You have chose " + p_item[0])
- print("Your balance: " + str(saving))
- print("-----------------")
- else:
- print("Non existent")
- elif choice == 'q':
- print("---------------")
- print("You have chose the following goods:")
- print("Goods\t\tnumber\tPrice")
- num = 1
- #循环遍历购物车里面的商品,购物车存放的是已买商品
- for i in shopping_car:
- print(i[0] + "\t\t" + str(num) + "\t\t" + str(i[1]))
- print()
- print("balance :", saving)
- print("---------------")
- break
- else:
- print("invalid input")
Python小代码_3_购物车的更多相关文章
- Python小代码_2_格式化输出
Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...
- Python小代码_1_九九乘法表
Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...
- python小练习之三---购物车程序
购物车购物的例子 严格来讲,这个例子相对大一些 功能也稍完备一些,具有用户登录,商品上架,用户购物,放入购物车,展示每个用户的购物车里的商品的数量,用户账户余额,支持用户账户充值等 下面展示的代码有些 ...
- Python小代码_4_省市区三级菜单
menu = { "北京": { "朝阳区": { "三环到四环之间": {}, "四环到五环之间": {}, &quo ...
- Python小程序之购物车
需求: 用户入口: 1.商品信息放在文件中,从文件中读取 2.已购商品,余额记录,第一要输入起始金额,以后不需要二次输入 商家入口: 2.可以添加商品,修改商品价格 # Author:Lee Siri ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
随机推荐
- Linux进程管理:后台启动进程和任务管理命令
一.为什么要使程序在后台执行 我们的应用有时候要运行时间很长,如:几个小时甚至几个星期,我们可以让程序在后台一直跑. 让程序在后台运行的好处有: 终端关机不影响后台进程的运行.(不会终端一关机或者网络 ...
- ELK学习总结(4-1)elasticsearch更改mapping(不停服务重建索引)
elasticsearch更改mapping(不停服务重建索引)原文 http://donlianli.iteye.com/blog/1924721Elasticsearch的mapping一旦创建, ...
- MongoDB GridFS 存储大文件
我们经常会遇到这样的场景:上传/下载文件. 有两种思路可以解决这个问题: (1)将文件存储在服务器的文件系统中: (2)将文件存储在数据库中. 如果我们选择(2),那么我们可以使用MongoDB Gr ...
- 重启Apache报错
重启Apache报错,如图所示:server: /etc/httpd/modules/mod_jk.so: wrong ELF class: ELFCLASS64 原因:mod_jd的版本有问题 解决 ...
- 【Vue中的swiper轮播组件】
<template> <swiper :options="swiperOption" ref="mySwiper"> <!-- s ...
- Ecplise 配置本地 https 测试
今天做项目,需要关联Office 365.为了实现Office365的用户邮件信息与项目的实时同步,需要建立webhook订阅. Office 365 API 连接 https://graph.mi ...
- hdu-2602&&POJ-3624---01背包裸题
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2602 https://vjudge.net/problem/POJ-3624 都是01背包的裸题 这 ...
- ZOJ-1586 QS Network---最小生成树Prim
题目链接: https://vjudge.net/problem/ZOJ-1586 题目大意: 首先给一个t,代表t个测试样例,再给一个n,表示有n个QS装置,接下来一行是n个QS装置的成本.接下来是 ...
- 新手创建Vue项目
======================安装vue=============================(参考网址:http://www.bubuko.com/infodetail-21320 ...
- 搭建自己的maven私服 必过
教你一步一步搭建自己的maven私服 一. 应用场景 有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私 ...