python 3.6练习题(仿购物车)
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练习题(仿购物车)的更多相关文章
- Python之基础练习题
Python之基础练习题 1.执行 Python 脚本的两种方式 2.简述位.字节的关系 解:8位是一个字节 3.简述 ascii.unicode.utf-8.gbk 的关系 4.请写出 “李杰” 分 ...
- C#&JQuery非缓存式无刷新临时存储数据之仿购物车功能
感谢广大博问博友的帮助和共同研究讨论,终于实现了一个无缓存无刷新仿购物车的小功能: 一.实现效果简述: 有一种列表,是由双层Repeater嵌套,第一层用来显示类别,第二层用来显示类别下的商品数据, ...
- python实现简单的循环购物车小功能
python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s&quo ...
- js实现仿购物车加减效果
代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- Python:程序练习题(二)
Python:程序练习题(二) 2.1温度转换程序. 代码如下: t=input("请输入带符号的温度值(如:32C):") if t[-1] in ["C", ...
- python 基本数据类型练习题
练习题一.元素分类有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中.即: {' ...
- python装饰器练习题
练习题1. 请使用python, 对下面的函数进行处理, def hello(name): print "hello, %s" % name 在函数被调用时打印耗时详情 <f ...
- Python学习(一):编写购物车
1.购物车流程图: 2.代码实现: #!/usr/bin/env python #coding=utf-8 ChoiceOne =''' 1.查看余额 2.购物 3.退出 ''' ChoiceTwo ...
- python 基础篇练习题
一.练习题 # 1.统计元组中所有数据属于字符串的个数,提示:isinstance() # 数据:t1 = (1, 2, '3', '4', 5, '6') # 结果:3 # 2.将以下数据存储为字典 ...
随机推荐
- Python 类的祖宗--metaclass
1.Python 中一切事物都是对象 2.类都是 type 类的对象 类的两种申明方法 # 方法一: class Foo: def func(self): print(666) obj = Foo() ...
- FHQ Treap小结(神级数据结构!)
首先说一下, 这个东西可以搞一切bst,treap,splay所能搞的东西 pre 今天心血来潮, 想搞一搞平衡树, 先百度了一下平衡树,发现正宗的平衡树写法应该是在二叉查找树的基础上加什么左左左右右 ...
- 洛谷P3346 [ZJOI2015]诸神眷顾的幻想乡(广义后缀自动机)
题意 题目链接 Sol 广义SAM的板子题. 首先叶子节点不超过20,那么可以直接对每个叶子节点为根的子树插入到广义SAM中. 因为所有合法的答案一定是某个叶子节点为根的树上的一条链,因此这样可以统计 ...
- svg简介与使用
什么是svg SVG是"Scalable Vector Graphics"的简称.中文可以理解成"可缩放矢量图形". 可缩放矢量图形是基于可扩展标记语言(标准通 ...
- openlayer3之高级标注实现
首先看实现效果: 实现要点: 1)树形标注实现 2)复杂标注样式定义 3)效率优化 1.树形标注实现 树形标注采用字体符号来实现,包括以下几个步骤 1)载入字体 2)设置标注值与字体对照关系 3)设置 ...
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL,spring获取context
今天学习spring项目的时候出现了下面的错误信息: java.lang.ClassNotFoundException: org.springframework.web.context.Context ...
- retrofit框架接口调用时候报Throwing new exception
最近在开发的时候遇到了一个很坑的问题,在三星6.0手机上请求接口时候报了一个异常:Throwing new exception 'length=1658; index=3248' with unexp ...
- LeetCode题解之Diameter of Binary Tree
1.题目描述 2.分析 深度优先. 3.代码 int ans; int diameterOfBinaryTree(TreeNode* root) { ans = ; depth(root); ; } ...
- [20180806]tune2fs调整保留块百分比.txt
[20180806]tune2fs调整保留块百分比.txt --//生产系统一台dg磁盘空间满了.我前一阵子已经将*convert参数修改,增加磁盘,但是这个分区里面的数据文件还可以增长,这样依旧存- ...
- SQL Server 临时表和表变量系列之选择篇
原文地址:https://yq.aliyun.com/articles/69187 摘要: # 摘要 通过前面的三篇系列文章,我们对临时表和表变量的概念.对比和认知误区已经有了非常全面的认识.其实,我 ...