用另一种方式完成购物车的功能实现

#!/usr/bin/python
zijin = input("请输入资金:")
if zijin.isdigit():
zijin = int(zijin)
else:
print("请输入数字!")
exit_flag = False
print("欢迎来到本人的购物小店".center(40,"-"))
shop_list = [
("电脑", 1999),
("鼠标", 800),
("键盘", 299),
("鼠标垫", 100)
]
gouwuche = []
xiaofei = 0
while exit_flag is not True:
print("商品列表如下:".center(44,"-"))
for item in enumerate(shop_list):
index = item[0]
sp_name = item[1][0]
sp_price = item[1][1]
print(index, ".", sp_name, sp_price)
user_choice = input("请输入商品编号进行购买:")
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice < len(shop_list):
sp_item = shop_list[user_choice]
if sp_item[1] <= zijin:
gouwuche.append(sp_item)
zijin -= sp_item[1]
xiaofei += sp_item[1]
print("您成功购买了:[%s] 花费了:[%s] 余额为:[%s]" %(sp_item[0], sp_item[1], zijin))
else:
print("您的金额不足!还差 [%s] 才能购买此商品!" %(sp_item[1] - zijin))
else:
if user_choice == "q" or user_choice == "quick":
print("您本次购买了如下商品:".center(40, "-"))
for g_list in gouwuche:
print(g_list)
print("结束".center(45, "-"))
print("您总共消费了:[%s] 余额为:[%s]" %(xiaofei, zijin))
exit_flag = True

python编写购物车新写法的更多相关文章

  1. python编写购物车

    上次的学习又没有坚持下来,工作忙的不可开交,但我反思了一下还是自己没有下定决心好好学习,所以这次为期3个月的学习计划开始了,下面是这次学习后重新编写的购物车初版代码. 1 # 功能要求: 2 # 要求 ...

  2. python编写购物车小程序

     #练习#程序购物车#启动程序后,让用户输入工资,  然后打印商品列表,允许用户根据商品编号购买商品用户选择商品后 #检测余额是否够,够就直接扣款,不够就提醒可随时退出,退出时,打印已购买商品和余额  ...

  3. python编写购物车-实时购买

    本次编写的是实时购买(输入商品直接进行购买),余额不足可以进行充值或结束购物 1 goods = [ 2 {"name": "电脑", "price& ...

  4. python之编写购物车(第二天)

    作业: 编写购物车 具体实现了如下功能: 1.可购买的商品信息显示 2.显示购物车内的商品信息.数量.总金额 3.购物车内的商品数量进行增加.减少和商品的删除 4.用户余额的充值 5.用户购买完成进行 ...

  5. 【转】python编写规范——中标软件有限公司测试中心

    [转]python编写规范 一.说明 二.内容 1. 代码布局 1.1 缩进 1.2 表达式和语句中的空格 1.3 行的最大长度 1.4 空行... 1.5 编码... 2. 语句... 2.1 标准 ...

  6. Python 3.8 新特性来袭

    Python 3.8 新特性来袭 Python 3.8是Python语言的最新版本,它适合用于编写脚本.自动化以及机器学习和Web开发等各种任务.现在Python 3.8已经进入官方的beta阶段,这 ...

  7. Python 3.9 新特性速览

    国庆假期,Python 社区发布了 3.9 版本的第一个 stable release. 相比于 3.8,Python 3.9 新特性众多,但不少特性与大多数 Python"使用者" ...

  8. 【转载】Python编写简易木马程序

    转载来自: http://drops.wooyun.org/papers/4751?utm_source=tuicool 使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马. 首先准备好 ...

  9. [BS-02] iOS数组、字典、NSNumber 新写法—— @[]、@{}

    IOS数组.字典.NSNumber 新写法—— @[].@{}   //标准写法 NSNumber * number = [NSNumber numberWithInt:]; NSArray * ar ...

随机推荐

  1. JUC之线程间的通信

    线程通信 视频1: 2021.12.18 JUC视频学习片段 对上次多线程编程步骤补充(中部): 创建资源类,在资源类中创建属性和操作方法 在资源类里面操作 判断 干活 通知 创建多个线程,调用资源类 ...

  2. BUG 记录:移位运算与扩展欧几里得算法

    BUG 记录:移位运算与扩展欧几里得算法 起因 上个月就开始打算用C++写一个ECC的轮子(为什么?折磨自己呗!),奈何自己水平有点差,拖到现在才算写完底层的大数运算.在实现欧几里得算法的时候,我开始 ...

  3. Exponential family of distributions

    目录 定义 性质 极大似然估计 最大熵 例子 Bernoulli 指数分布 正态分布 Choi H. I. Lecture 4: Exponential family of distributions ...

  4. <学习opencv>opencv数据类型

    目录 Opencv数据类型: 基础类型概述 固定向量类class cv::Vec<> 固定矩阵类cv::Matx<> 点类 Point class cv::Scalar 深入了 ...

  5. RTD2171U替代方案|CS5266Typec转HDMI 4K60HZ转换芯片方案|CS5266芯片

    RTD2171U 是一款USB Type-C到HDMI转换器结合了USB Type-C输入接口和数字高清多媒体接口(HDMI)输出转换芯片.嵌入式微控制器基于工业标准8051内核.接收器端口将信道配置 ...

  6. spring练习,使用Eclipse搭建的Spring开发环境,属性注入通过构造方法方式实现,模拟用户的正常登录。

    相关 知识 >>> 相关 练习 >>> 实现要求: 使用Eclipse搭建的Spring开发环境,属性注入通过构造方法方式实现,模拟用户的正常登录.要求如下: 通过 ...

  7. WPF使用字体图标

    首先我们要有字体文件,可以去阿里巴巴矢量图标库下载,下载解压后可以看到如下文件: 其中,iconfont.ttf就是字体文件,我们将该文件引入到自己的项目中,将iconfont.ttf文件的属性中&q ...

  8. [Beyond Compare] 排除/忽略 .svn 文件夹

    [Beyond Compare] Exclude .svn folders Beyond Compare 3 Session >> Session Settings... >> ...

  9. NIO【同步非阻塞io模型】关于 文件io 的总结

    1.前言 这一篇随笔是写 NIO 关于文件输入输出的总结 /* 总结: 1.io操作包括 socket io ,file io ; 2.在nio模型,file io使用fileChannel 管道 , ...

  10. react中prop-types的使用

    什么是prop-types?prop代表父组件传递过来的值,types代表类型.简单来说就是用来校验父组件传递过来值的类型 import PropTypes from 'prop-types'; To ...