#!/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的更多相关文章

  1. shopping car 2.0

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/13 0013 10:20# @Author : Anthony.Waa# @ ...

  2. shopping car 3.0

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @File : 购物车3.0.py# @Author: Anthony.waa# @Date : 2018/ ...

  3. python 3.5 购物小程序

    #!/usr/bin/env python #encoding: utf-8 import time import os nowtime = time.strftime('%Y-%m-%d %H:%M ...

  4. 实际情况来看,还是yield很爽

    0 引言 最近公司有一个 php 的项目,要 port 到 node.js 来.我之前没有接触过这个项目,整个项目使用的是 yaf 框架.整个项目流程是调用服务端的业务数据,然后拼装数据,返回给前端: ...

  5. pwnable.tw applestore

    存储结构 0x804B070链表头 struct _mycart_binlist { int *name; //ebp-0x20 int price; //ebp-0x1c struct _mycar ...

  6. python 多个脚本

    1.增删改查haproxy.conf配置文件 1.查询输入:www.oldboy1.com 2.删除输入:{'backend': 'www.oldboy2.org','record':{'server ...

  7. 入门项目 A3 src 主代码

    import json # 调度内置 json 模块,用于数列化输入输出,相比eval,功能更全面,融合度更高from conf import settings # 从配置文件configure (包 ...

  8. R_Studio(关联)对Groceries数据集进行关联分析

    RGui的arules程序包里含有Groceries数据集,该数据集是某个杂货店一个月真实的交易记录,共有9835条消费记录,169个商品 #install.packages("arules ...

  9. 学习Python(一)

    一.Python的基础 1.Python是怎样的语言? 2.Python的安装 Linux安装(python3) yum install -y make zlib zlib-devel gcc-c++ ...

随机推荐

  1. THREE.js代码备份——canvas_ascii_effect(以AscII码显示图形)

    <!DOCTYPE html> <html lang="en"> <head> <title>three.js - ASCII Ef ...

  2. ASP.NET 页面验证cookie

    using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary ...

  3. 去掉二级页面 tabs 菜单, 修改返回按钮

    imports: [ /*引入的模块 依赖的模块*/ BrowserModule, ComponentsModule, IonicModule.forRoot(MyApp,{ tabsHideOnSu ...

  4. 基于MATLAB的语音信号处理

    一.图形界面设计 1.新建GUI界面 2.新建空白页 3.命名为"yydsp",打开界面 4.拖放控件 5.按预定功能修改界面 6.填写Callback函数 未填写前的代码: fu ...

  5. HttpRunnerManager 搭建使用方法

    HttpRunnerManager Design Philosophy 基于HttpRunner的接口自动化测试平台: HttpRunner, djcelery and Django_. HttpRu ...

  6. C#第六节课

    for循环 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System ...

  7. laravel-hprose(rpc框架)

    Laravel-hprose 基于 hprose/hprose-php 开发的Laravel扩展:laravel-hprose 版本要求 Laravel>=5.2 安装 composer req ...

  8. _markupbase.py if not match: UnboundLocalError: local variable 'match' referenced before assignment,分析Python 库 html.parser 中存在的一个解析BUG

    BUG触发时的完整报错内容(本地无关路径用已经用 **** 隐去): **************\lib\site-packages\bs4\builder\_htmlparser.py:78: U ...

  9. 《奋斗吧!菜鸟》 第八次作业:Alpha冲刺 Scrum meeting 5

    项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11012922.html 团队名称 奋斗吧!菜鸟 作业学习目标 A ...

  10. tp5 前置方法

    Route::any('adminapi/v1/login','adminapi/v1.login/login');Route::any('adminapi/v1/first','adminapi/v ...