练习:

  1. 要求用户输入总资产,例如:2000

  2. 显示商品列表,让用户根据序号选择商品,加入购物车

  3. 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods = [{'name':'电脑', 'price':1999},{'name':'鼠标', 'price':10},{'name':'游艇', 'price':20},{'name':'玩具', 'price':998},]
p1 = int(input('enter your money:')) while True:
if not isinstance(p1, int):
raise TypeError('bad type.')
for i in goods:
print(goods.index(i), i)
p2 = int(input('enter your price:'))
if p2 == 0:
p1 = p1 - int(goods[p2]['price'])
if p1 < 0:
print('余额不足。')
break
else:
print('***********************')
print('当前余额:', p1)
print('***********************')
elif p2 == 1:
p1 = p1 - int(goods[p2]['price'])
# print(p3)
if p1 < 0:
print('余额不足。')
break
else:
print('***********************')
print('当前余额:', p1)
print('***********************')
elif p2 == 2:
p1 = p1 - int(goods[p2]['price'])
# print(p3)
if p1 < 0: print('余额不足。')
break
else:
print('***********************')
print('当前余额:', p1)
print('***********************')
elif p2 == 3:
p1= p1 - int(goods[p2]['price'])
# print(p3)
if p1 < 0:
print('余额不足。')
break
else:
print('***********************')
print('当前余额:', p1)
print('***********************')
else:
print('***********************')
print('商品序号错误,请重新输入。')
print('***********************')

主要练习点:

  1. 列表(list)、字典(dist) 类型灵活运用。

  2. 条件判断while 、 if  ... break

修改一版:

# -*- coding: utf-8 -*-
goods_list = [
['computer', 5000],
['apple', 500],
['pen', 50],
]
salary = float(input('enter your salary:'))
while True:
for index, item in enumerate(goods_list, 1):
print(index, item)
choice = input('enter your choice:')
if choice == 'q':
break
if choice.isdigit() == False:
print('\033[31;1m输入编号错误,请重新输入\033[1m')
elif int(choice) > len(goods_list) or int(choice) < 1:
print('\033[31;1m编号不在商品列表中\033[1m')
else:
choice_buy = int(choice) -1
if salary >= goods_list[choice_buy][1]:
print('\033[32;1m购买成功.\033[1m')
salary = salary - goods_list[choice_buy][1]
else:
print('\033[31;1m购买失败\033[1m')
break

[ Python -1 ] 简易购物车程序的更多相关文章

  1. Python编写简易木马程序(转载乌云)

    Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能 ...

  2. python学习:购物车程序

    购物车程序 product_list = [ ('mac',9000), ('kindle',800), ('tesla',900000), ('python book',105), ('bike', ...

  3. python元组与购物车程序

    #Author:zww ''' 程序:购物车程序 需求: 1.启动程序后,让用户输入工资,然后打印呢商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否足够,够就直接扣款,不够 ...

  4. Python简易购物车程序

    2019年5月24日,是我离开北京回学校的日子.我退了组的房子,辞了工作,带着对小秋香不舍回家,这匆匆一别,不知何时才是归期. 这几天都疏于学习,因为每一天我都会和她找点有意思的事情来做,如果这一别就 ...

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

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

  6. python练习2 购物车程序

    # -*- coding: utf-8 -*-# @Time : 2018/10/18 16:06# @Author : Two Brother# @EMAIL : yeluyide@163.com# ...

  7. ~~小练习:python的简易购物车~~

    进击のpython 1,用户先给自己的账户充钱:比如先充3000元. 2,有如下的一个格式: goods = [{"name": "电脑", "pri ...

  8. Python初学时购物车程序练习实例

    不多说了,直接上代码: #Author:Lancy Wu product_list=[ ('Iphone',5800), ('Mac Pro',9800), ('Bike', 800), ('Watc ...

  9. python复习购物车程序

    个人学习总结: 无他,唯手熟尔!多敲多练才是王道 python 第三课 元组的灵活运用&字符串的诸多操作 Program01 '''时间 2018年2月12日12:15:28目的 购物车程序 ...

随机推荐

  1. 安装arch系统时,把ubuntu的efi分区格式化

    导致无法从grub进入ubuntu,之后我进入win10,把ubuntu的分区都删了. 再重启,只能进入黑色的grub界面,显示 grub>> 甚至无法进入win10.只能通过在开机时按F ...

  2. python学习笔记-list的用法

    1.list的定义 list = [] list = [1,2,'a','b'](list中的元素不一定是一个类型) 2.list的操作 1)list.append(value) 2)list.ins ...

  3. Top K 算法详解

    http://xingyunbaijunwei.blog.163.com/blog/static/7653806720111149318357/ 问题描述         百度面试题:        ...

  4. online community

    online community spectrum https://spectrum.chat/xgqfrms https://community.xgqfrms.xyz/ https://spect ...

  5. 大数据分析中Redis应用

    大数据分析中Redis 大数据时代,海量数据分析就像吃饭一样,成为了我们每天的工作.为了更好的为公司提供运营决策,各种抖机灵甚至异想天开的想法都会紧跟着接踵而来!业务多变,决定了必须每天修改系统,重新 ...

  6. P2161 [SHOI2009]会场预约

    题目描述 PP大厦有一间空的礼堂,可以为企业或者单位提供会议场地.这些会议中的大多数都需要连续几天的时间(个别的可能只需要一天),不过场地只有一个,所以不同的会议的时间申请不能够冲突.也就是说,前一个 ...

  7. 从统计学statistics的观点看概率分布

    已知数据x,希望得到未知label y,即得到映射x-->y: 几个概念: 1)p(x): data distribution 数据分布 2)p(y): prior distribution 先 ...

  8. [AHOI2013]作业 & Gty的二逼妹子序列 莫队

    ---题面--- 题解: 题目要求统计一个区间内数值在[a, b]内的数的个数和种数,而这个是可以用树状数组统计出来的,所以可以考虑莫队. 考虑区间[l, r]转移到[l, r + 1],那么对于维护 ...

  9. 使用def文件简化dll导出

    原文链接地址:http://www.cnblogs.com/TianFang/archive/2013/05/04/3059073.html 在C++中,我们可以通过 __declspec(dllex ...

  10. [学习笔记]LCT进阶操作

    LCT总结——应用篇(附题单)(LCT) 一般都是维护链的操作.split即可搞定. 进阶操作的话,处理好辅助树和原树的关系即可搞定. 其实,最大的区别就是,splay随便转,辅助树形态变了,但是原树 ...