[ Python -1 ] 简易购物车程序
练习:
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 ] 简易购物车程序的更多相关文章
- Python编写简易木马程序(转载乌云)
Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能 ...
- python学习:购物车程序
购物车程序 product_list = [ ('mac',9000), ('kindle',800), ('tesla',900000), ('python book',105), ('bike', ...
- python元组与购物车程序
#Author:zww ''' 程序:购物车程序 需求: 1.启动程序后,让用户输入工资,然后打印呢商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否足够,够就直接扣款,不够 ...
- Python简易购物车程序
2019年5月24日,是我离开北京回学校的日子.我退了组的房子,辞了工作,带着对小秋香不舍回家,这匆匆一别,不知何时才是归期. 这几天都疏于学习,因为每一天我都会和她找点有意思的事情来做,如果这一别就 ...
- 【转载】Python编写简易木马程序
转载来自: http://drops.wooyun.org/papers/4751?utm_source=tuicool 使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马. 首先准备好 ...
- python练习2 购物车程序
# -*- coding: utf-8 -*-# @Time : 2018/10/18 16:06# @Author : Two Brother# @EMAIL : yeluyide@163.com# ...
- ~~小练习:python的简易购物车~~
进击のpython 1,用户先给自己的账户充钱:比如先充3000元. 2,有如下的一个格式: goods = [{"name": "电脑", "pri ...
- Python初学时购物车程序练习实例
不多说了,直接上代码: #Author:Lancy Wu product_list=[ ('Iphone',5800), ('Mac Pro',9800), ('Bike', 800), ('Watc ...
- python复习购物车程序
个人学习总结: 无他,唯手熟尔!多敲多练才是王道 python 第三课 元组的灵活运用&字符串的诸多操作 Program01 '''时间 2018年2月12日12:15:28目的 购物车程序 ...
随机推荐
- DCGAN: "Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Network" Notes
- Alec Radford, ICLR2016 原文:https://arxiv.org/abs/1511.06434 论文翻译:https://www.cnblogs.com/lyrichu/p/ ...
- Julia 学习笔记(一):数组
个人向,只会记录一些需要注意的点. 前言 学习 Julia 已经有一段时间了,但是进步缓慢.这一方面是最近代码写得少,一方面是 Julia 学习资料少.中文资料更少,但也有我没做笔记的缘故导致学习效率 ...
- [android]不解锁刷机
本人因为误操作进入andriod recovery模式,显示failed to boot 2,致手机无法恢复出厂值, 当时那叫一个郁闷.上论坛搜寻无数,唉让刷底包的无数(在此不解释),万恶的刷底包. ...
- ActiveMQ入门代码
Hello world程序演示: 生产者: package com.mq.helloworld; import javax.jms.Connection; import javax.jms.Conne ...
- Luogu2662 牛场围栏(最短路)
小凯的疑惑升级版的升级版.答案若存在不会超过30002-3000,暴力dp似乎勉强可以过.当然这不优美. 注意到如果能拼出长度为l的围栏,就一定能拼出长度为l+kx的围栏,其中x为最短的(或任意一个) ...
- arc073 F many moves(dp + 线段树)
设dp[i][y]表示一个点在x[i],另一个点在y时最小要走的步数 那么有以下转移 对于y != x[i-1]的状态,可以证明,他们直接加|x[i] - x[i-1]|即可(如果有其他方案,不符合对 ...
- 2018宁夏邀请赛K Vertex Covers
题目链接:https://nanti.jisuanke.com/t/28411 题意: 给出n(n<=36)个点的一个图.求点覆盖集数. 题解: 将n个点折半为L和R两部分.对于R内部的边,枚举 ...
- 【bzoj2756 奇怪的游戏】
Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 4403 Solved: 1226[Submit][Status][Discuss] Descript ...
- 阿里巴巴前端面试parseInt()函数的面试题
JavaScript 是弱类型语言,为了保证数值的有效性,在处理数值的时候,我们可以对数值字符串进行强行转换.如 parseInt 取整和 parseFloat 取浮点数.Java 也有 Intege ...
- JQuery中的each()的使用
each()函数是基本上所有的框架都提供了的一个工具类函数,通过它,你可以遍历对象.数组的属性值并进行处理. jQuery和jQuery对象都实现了该方法,对于jQuery对象,只是把each方法简单 ...