shopping car 1.0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : 20180510001.py
# @Author: Anthony.waa
# @Date : 2018/5/10 0007
# @Desc : # 购物清单列表
goods = [
{"name": "书籍", "price": 1999},
{"name": "服装", "price": 10},
{"name": "美女", "price": 20},
{"name": "科技用品", "price": 998},
] # 定义空购物车
shopping = [] # 显示购物清单
print("---欢迎登陆购物系统")
for goods_count, goods_all in enumerate(goods,1):
print(goods_count, goods_all['name'], goods_all['price']) # 循环购物流程
while True: # 输入总金额
salary = input("请输入你当前总资产:").strip()
if salary.isdigit():
salary = int(salary)
else:
print("输入错误,请重新输入.")
continue while True:
# 选择购物商品,并加入购物清单
choice = input("请选择你要购物的商品:").strip()
goods_index = len(goods) if choice.isdigit():
choice = int(choice) # 判断输入选项不能小于元素长度
if choice > 0 and choice <= goods_index:
name_a = goods[choice - 1]['name'] # 单个商品名称
price_a = goods[choice - 1]['price'] # 单个商品价格
if salary > price_a:
if choice == 1:
shopping.append(name_a)
print('购买成功,当前购物车内有:', shopping, '剩余金额为:', salary)
elif choice == 2:
shopping.append(name_a)
print('购买成功当前购物车内有:', shopping, '剩余金额为:', salary)
elif choice == 3:
shopping.append(name_a)
print('购买成功当前购物车内有:', shopping, '剩余金额为:', salary)
elif choice == 4:
shopping.append(name_a)
print('购买成功当前购物车内有:', shopping, '剩余金额为:', salary)
else:
print('没有该类目,请重新输入') salary -= price_a # 剩余金额 else:
print("余额不足,请充值。")
# 充值金额
salary_two = int(input("请输入充值金额:"))
salary += salary_two
print("余额为:", salary)
continue
elif choice.lower():
if choice == 'q':
print("欢迎下次再来,再见。")
exit()
else:
print("输入非法,请重新输入.")
continue
shopping car 1.0的更多相关文章
- shopping car 2.0
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/13 0013 10:20# @Author : Anthony.Waa# @ ...
- shopping car 3.0
#!/usr/bin/env python# -*- coding: utf-8 -*-# @File : 购物车3.0.py# @Author: Anthony.waa# @Date : 2018/ ...
- python 3.5 购物小程序
#!/usr/bin/env python #encoding: utf-8 import time import os nowtime = time.strftime('%Y-%m-%d %H:%M ...
- 实际情况来看,还是yield很爽
0 引言 最近公司有一个 php 的项目,要 port 到 node.js 来.我之前没有接触过这个项目,整个项目使用的是 yaf 框架.整个项目流程是调用服务端的业务数据,然后拼装数据,返回给前端: ...
- pwnable.tw applestore
存储结构 0x804B070链表头 struct _mycart_binlist { int *name; //ebp-0x20 int price; //ebp-0x1c struct _mycar ...
- python 多个脚本
1.增删改查haproxy.conf配置文件 1.查询输入:www.oldboy1.com 2.删除输入:{'backend': 'www.oldboy2.org','record':{'server ...
- 入门项目 A3 src 主代码
import json # 调度内置 json 模块,用于数列化输入输出,相比eval,功能更全面,融合度更高from conf import settings # 从配置文件configure (包 ...
- R_Studio(关联)对Groceries数据集进行关联分析
RGui的arules程序包里含有Groceries数据集,该数据集是某个杂货店一个月真实的交易记录,共有9835条消费记录,169个商品 #install.packages("arules ...
- 学习Python(一)
一.Python的基础 1.Python是怎样的语言? 2.Python的安装 Linux安装(python3) yum install -y make zlib zlib-devel gcc-c++ ...
随机推荐
- C++程序设计实验安排
2016-2017第二学期C++程序设计的实验时间与地点安排如下表,请大家根据时间按时来上机实验.另外,因为原来安排在4.1的实验因为调休补周一的课,因此挪至周五.另外第4次周六的课,考虑有一些同学有 ...
- 偏函数应用(Partial Application)和函数柯里化(Currying)
偏函数应用指的是固化函数的一个或一些参数,从而产生一个新的函数.比如我们有一个记录日志的函数: 1: def log(level, message): 2: print level + ": ...
- MySQL--增删改查分页存储过程以及事务
添加和修改写在一起了 可以用id判断添加和修改 和事务在一起编码 可以让代码更严谨 在这里简单的说一下事务的四大特性 事务四大特性之原子性:原子性是指事务是一个不可再分割的工作单位,事务中的操作要么都 ...
- Xilinx 7系列FPGA部分重配置【2】
在之前的“Xilinx 7系列FPGA部分重配置[1]”中已经较为详细地记录了分别在工程模式(Project Mode)和非工程模式(Non-Project Mode)下.使用7系列的Xilinx F ...
- swift-自动计算字符串的宽高
写一个方法来继承String //自动控制文字换行及宽度 extension String { func textSizeWithFont(font: UIFont, constrainedToSiz ...
- CSS max-width: 0;
写CSS,大家都知道max-width是要在宽度超过后才会生效,但今天我发现一个神奇的现象, 为表格td加上max-width: 0;可以让上下两个表格自动对齐,这句的作用到底是什么还有待研究,今天先 ...
- 继续聊WPF——自定义滚动条
<Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winf ...
- Bootstrap关于表单(二):水平表单
Bootstrap框架默认的表单是垂直显示风格,但很多时候我们需要的水平表单风格(标签居左,表单控件居右) 在Bootstrap框架中要实现水平表单效果,必须满足以下两个条件: 1.在<form ...
- string.Format 格式化日期格式
DateTime dt = DateTime.Now;//2010年10月4日 17点05分 string str = ""; //st ...
- EurekaLog是什么鬼?
D的all工程文件打开后,莫名其妙就处于等待打开状态.因为最后一次调整是安装了RO9.0.所以一直怀疑是RO的原因.再加上win7授权问题,安装RO一直不顺当.所以折腾的时间最多. 其他把RO全部卸载 ...