python 一个购物车的例子

  1. 1 #!/usr/bin/env python
  2. 2 # -*- coding:utf-8 -*-
  3. 3 '''购物车'''
  4. 4
  5. 5 goods = [
  6. 6
  7. 7 {"name": "电脑", "price": 1999},
  8. 8
  9. 9 {"name": "鼠标", "price": 10},
  10. 10
  11. 11 {"name": "游艇", "price": 20},
  12. 12
  13. 13 {"name": "美女", "price": 998},
  14. 14
  15. 15 ]
  16. 16 cart_dict={}
  17. 17
  18. 18 black=int(input('请输入余额:'))
  19. 19
  20. 20 for i in goods:
  21. 21 print (i['name'],i['price'])
  22. 22 while True:
  23. 23 i2=input("选购商品结算请输入y:")
  24. 24 if i2.lower() == 'y':
  25. 25 break
  26. 26 for item in goods:
  27. 27 if item["name"] == i2:
  28. 28 name = item['name']
  29. 29 if name in cart_dict.keys():
  30. 30 cart_dict[name]['num'] += 1
  31. 31 else:
  32. 32 cart_dict[name]={'num':1,'single_price':item['price']}
  33. 33 print(cart_dict)
  34. 34 all_price=0
  35. 35 for k,v in cart_dict.items():
  36. 36 n = v['single_price']
  37. 37 m = v['num']
  38. 38 sum = n*m
  39. 39 all_price=all_price+sum
  40. 40 print (sum)
  41. 41 if all_price > black:
  42. 42 print('穷逼')
  43. 43 else:
  44. 44 print('有米')

附带:一些常用的字符处理方法

  1. new_li=i.strip() #去除前面和后面的空格。
    new_list=new_li.capitalize() #把第一个字母变成大写。
  1. len(new_list) #取索引长度
  1. li.extend(list_name) #extend 把2个列表的值组合成一个列表。
    li.insert(1,"x")         #望指定的位置添加东西
  1. l1.reverse()                     #字符位置反转。
  2.  
  3. for k,i in dic.items(): #items 字典循环 取出KEY和value.
    for k,i in enumerate(list): #enumerrate 循环打印出索引和值。
    s1.strip() #去除头和尾的空格。
    s1.startswith("b") #判断以b开头为True ,否者尾False
    s1.find("b") #找出b所在的索引位置
    s1.replace("新值","旧值") #把新值替换掉旧值和sed有点像。
    s1.upper() #全部变大写
    s1.values() #字典用法,只取出值。
  1. a,b,c=input('输入:').strip().split() #可以获取多个输入的值,用空格隔开, 以split里面的值作为分隔符。
  2.  
  3. c="1","2","3".split() #把三个字符串集合成一个元组。
  1. s1.isalpha() #如果值区别是字母则返回True,包含了数字或者其他字符则返回False.
  1. t = (11,22,["alex",{'k1':'v1'}]) && t[2][1]["k2"]="v2" #给字典添加一个值。
    li = ["hellow","world"] l1="_".join(li) #结果 hellow_world 把值用对应的符号连接起来。
  1.  

python购物&常用字符处理方法的更多相关文章

  1. python字符串常用内置方法

    python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...

  2. python列表常用内建方法

    python列表常用内建方法: abc = ['a',1,3,'a'] #abc.pop(1) #删除索引1的值.结果['a', 3] #abc.append([123]) #结果:['a', 1, ...

  3. Python编程-常用模块及方法

    常用模块介绍 一.time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行 ...

  4. js常用字符处理方法

    JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...

  5. python之常用的数据处理方法

    1.生成6位数验证码 "".join([random.choice(chars) for i in range(6)]) 2.密码加密 import hashlib def enc ...

  6. python正则表达式模块re:正则表达式常用字符、常用可选标志位、group与groups、match、search、sub、split,findall、compile、特殊字符转义

    本文内容: 正则表达式常用字符. 常用可选标志位. group与groups. match. search. sub. split findall. compile 特殊字符转义 一些现实例子 首发时 ...

  7. python迭代器-迭代器取值-for循环-生成器-yield-生成器表达式-常用内置方法-面向过程编程-05

    迭代器 迭代器 迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的) 迭代器: # 迭代取值的工具 为什么用迭代器: # 迭代器提供了一种 ...

  8. Python | Python常用函数、方法示例总结(API)

    目录 前言 1. 运算相关 2. Sring与数字 3. 列表相关 4. 集合相关 5. 序列化类型 6. 字典相关 7. 输入输出 8. 文件相关 9. json模块 10. unittest测试模 ...

  9. Python 数据类型常用的内置方法(三)

    目录 Python 数据类型常用的内置方法(三) 1.列表内置方法 1.sort():升序 2.reverse():颠倒顺序 3.列表比较运算 2.字典内置方法 1.对Key的操作 2.len( )- ...

随机推荐

  1. nginx安装pcre

    一.有的服务器上没有安装pcre那么安装nginx的时候会报错 所以在安装之前我们可以: yum install pcre-devel 如果很不巧,服务器也没有配yum,也不能连互联网.那么我们只能自 ...

  2. scrapy 的三个入门应用场景

    说明: 本文参照了官网的 dmoz 爬虫例子. 不过这个例子有些年头了,而 dmoz.org 的网页结构已经不同以前.所以我对xpath也相应地进行了修改. 概要: 本文提出了scrapy 的三个入门 ...

  3. 面试准备(四)Java基本数据类型

    Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...

  4. 一个因为粗心的Bug

    /** * 数据绑定,分页显示 */ private void updataMenu(final EditText search) { if(listwz==null) { return; } pag ...

  5. 学习Shell脚本编程(目录)

    所涉及的内容如下: Shell命令行的运行 编写.修改权限和执行Shell程序的步骤 在Shell程序中使用参数和变量 表达式比较.循环结构语句和条件结构语句 在Shell程序中使用函数和调用其他Sh ...

  6. 【总结】学习Socket编写的聊天室小程序

    1.前言 在学习Socket之前,先来学习点网络相关的知识吧,自己学习过程中的一些总结,Socket是一门很高深的学问,本文只是Socket一些最基础的东西,大神请自觉绕路. 传输协议 TCP:Tra ...

  7. flatbuffers 使用问题记录

    1. 命名空间的问题 ----------------------------- namespace 1.0.3 版本包含文件类型前面不需要加命名空间,但是1.1.0 中包含需要在类型前加命名空间 i ...

  8. 自定义带图片和文字的ImageTextButton

    今天我们来讲一下有关自定义控件的问题,今天讲的这篇是从布局自定义开始的,难度不大,一看就明白,估计有的同学或者开发者看了说,这种方式多此一举,但是小编我不这么认为,多一种解决方式,就多一种举一反三的学 ...

  9. Cordova4.0 系列 -- 基本环境搭建(1)

    一. 安装Node.js基本环境 官网下载地址:https://nodejs.org/ 安装成功之后可以使用简单命令查看其版本 node -v npm相关命令 node cli.js install ...

  10. 在.net中为什么第一次执行会慢?

    众所周知.NET在第一次执行的时比第二第三次的效率要低很多,最常见的就是ASP.NET中请求第一个页面的时候要等上一段时间,而后面任意刷新响应都非常迅速,那么是什么原因导致的呢?为什么微软不解决这个问 ...