购物车例子,实现显示商品信息,输入商品编号并且可以减去自己的存入余额,当商品价格大于自己的余额的时候,直接退出;当不再选择商品的时候,退出显示余额和已经添加的商品。

#购物车程序

product_list = [
("airplane",90000),
("pen", 80),
("Trek bike", 5000),
("Book", 200),
("salt", 10),
("clothes", 600), ] 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("选择购买商品编号[退出:q]:") if choice.isdigit():
choice = int(choice)
if choice > 0 and choice <= len(product_list):
p_item = product_list[choice - 1]
if p_item[1] < saving:
saving -= p_item[1] #减去添加购物车的钱,还剩下的钱数
shopping_car.append(p_item) #购物的信息
else:
print("余额不足,还剩%s,不能购买下面的商品"%saving)
print(p_item)
else:
print("您输入的编号不存在")
elif choice == "q":
print("--------您购买的商品如下--------")
for i in shopping_car:
print(i)
print("您还剩%s元钱"%saving)
break
else:
print("invalid input")
#购物车程序

product_list = [
("airplane",90000),
("pen", 80),
("Trek bike", 5000),
("Book", 200),
("salt", 10),
("clothes", 600), ] 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("选择购买商品编号[退出:q]:") if choice.isdigit():
choice = int(choice)
if choice > 0 and choice <= len(product_list):
p_item = product_list[choice - 1]
if p_item[1] < saving:
saving -= p_item[1] #减去添加购物车的钱,还剩下的钱数
shopping_car.append(p_item) #购物的信息
else:
print("余额不足,还剩%s,不能购买下面的商品"%saving)
print(p_item)
else:
print("您输入的编号不存在")
elif choice == "q":
print("--------您购买的商品如下--------")
for i in shopping_car:
print(i)
print("您还剩%s元钱"%saving)
break
else:
print("invalid input")

python_day4_shopping的更多相关文章

随机推荐

  1. MVG配置

    MVG的配置:(前提是一个表的字段包含多值字段,一般是1:M或M:M的关系) 想要在学生界面显示多个教师的名称. 1.首先在一个Project中,建两张表学生表和教师表T_Stu与T_Tea和一张中间 ...

  2. leetcode-pascal triangle I&&II

    对于第2个pascal triangle,通过观察可以发现,其实只需要2个额外的变量来记录,于是就设了个tmp数组. 整体有点DP问题中的滚动数组的感觉. #include <vector> ...

  3. vue + element-ui 制作tab切换(适用于单页切换不同标记显示不同内容)

    本篇文章使用vue结合element开发tab切换单页不同的标记显示不同的内容. 1.安装element-ui npm install element-ui --save 2.在main.js中引入e ...

  4. python26 re正则表达式

    #coding:utf-8 #/usr/bin/python """ 2018-11-25 dinghanhua re """ import ...

  5. CryptoSwift:密码学

    Hash (Digest) MD5 | SHA1 | SHA224 | SHA256 | SHA384 | SHA512 | SHA3 Cyclic Redundancy Check (CRC) CR ...

  6. Uva 11491 暴力贪心

    题意:给一个n长度的整数,删掉 k 个数字,使得剩下的数字最大. 分析:还剩 n-k 个数字,就是在原序列里面,相对顺序不变的情况下,这个n-k个数字组成的数最大. 感觉没有什么特别好的方法策略,看了 ...

  7. conda清华镜像(TUNA)使用指南

    Details: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ TUNA 提供了 Anaconda 仓库的镜像,运行以下命令: conda c ...

  8. 【洛谷P1037】 产生数

    产生数 题目链接 本着“水题不可大做”的原则,我直接字符串hash+爆搜,成功爆栈.. 我们发现,依次搜索每一位能取到的数字个数,最后乘起来即可(乘法原理) 然后又爆了一个点.. long long存 ...

  9. 【luogu P2397 yyy loves Maths VI (mode) 】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2397 卡空间. 对于众数出现次数 > n/2 我们考虑rand. 每次正确的概率为1/2,五个测试点, ...

  10. 简单实用的.htaccess文件配置

    .htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能.. ...