1. #!usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. # 一、元素分类
  5. #
  6. # 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],
  7. # 将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
  8. # 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
  9. li = [11,22,33,44,55,66,77,88,99,100,101]
  10. dic = {'k1':[],'k2':[]}
  11. for i in li:
  12. if i >=66:
  13. dic['k1'].append(i)
  14. else:
  15. dic['k2'].append(i)
  16. print(dic)
  1. #!usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. # 二、查找
  5. # 查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
  6. # li = ["alec", " aric", "Alex", "Tony", "rain"]
  7. # tu = ("alec", " aric", "Alex", "Tony", "rain")
  8. # dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
  9. li = ["alec", " aric", "Alex", "Tony", "rain"]
  10. for i in li:
  11. li_strip = i.strip()
  12. li_upper = li_strip.upper()
  13. if li_upper.startswith('A') and li_strip.endswith('c'):
  14. print(li_strip)
  15.  
  16. tu = ("alec", " aric", "Alex", "Tony", "rain")
  17. for i in tu:
  18. tu_strip = i.strip()
  19. tu_upper = tu_strip.upper()
  20. if tu_upper.startswith('A') and tu_strip.endswith('c'):
  21. print(tu_strip)
  22.  
  23. dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
  24. for key in dic:
  25. dic[key] = dic[key].strip()
  26. if dic[key].upper().startswith('A') and dic[key].endswith('c'):
  27. print(key,dic[key])

  

  1. #!usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. # 三、输出商品列表,用户输入序号,显示用户选中的商品
  5. # 商品 li = ["手机", "电脑", '鼠标垫', '游艇']
  6. li = ["手机", "电脑", '鼠标垫', '游艇']
  7. for i,j in enumerate(li,1):
  8. print(i,j)
  9. num = input('请输入您要购买的商品序号:')
  10. if num.isdigit() and int(num) > 0 and int(num) <= len(li):
  11. li_index = int(num) - 1
  12. print(li[li_index])
  13. else:
  14. print("您的商品不存在!")

  

  1. #!usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. # 四、购物车(第一种方法)
  5. # 功能要求:goods已提供
  6. # 要求用户输入总资产,例如:2000
  7. # 显示商品列表,让用户根据序号选择商品,加入购物车
  8. # 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  9. # 附加:可充值、某商品移除购物车
  10. goods = [
  11. {"name": "电脑", "price": 1999},
  12. {"name": "鼠标", "price": 10},
  13. {"name": "游艇", "price": 20},
  14. {"name": "美女", "price": 998},
  15. ]
  16. total = int(input('请输入总资产:'))
  17. for key,value in enumerate(goods):
  18. print(key+1,value['name'],value['price'])
  19. cart = []
  20. while True:
  21. buy_strid = input('请输入您要购买的商品序号,按E键确认购买:')
  22. if buy_strid == 'E':
  23. break
  24. buy_id = int(buy_strid)-1
  25. buy_good = goods[buy_id]
  26. cart.append(buy_good)
  27. print('您购物车里面的商品是:')
  28. buy_total = 0
  29. for good in cart:
  30. buy_total += good['price']
  31. print(good['name'],good['price'])
  32. print('当前价值为:', buy_total)
  33. while True:
  34. if total < buy_total:
  35. result = input('余额不足!按R进行充值,按D减少购物车商品,按其他任意键退出购买:')
  36. if result == 'R':
  37. money = input('请输入充值的金额:')
  38. total = total + int(money)
  39. elif result == 'D':
  40. for key,value in enumerate(cart):
  41. print(key+1,value['name'],value['price'])
  42. cancel_strid = input('请输入您要取消的商品序号:')
  43. cancel_id = int(cancel_strid)-1
  44. cancel_price = cart[cancel_id]['price']
  45. cart.pop(cancel_id)
  46. buy_total -= cancel_price
  47. else:
  48. break
  49. else:
  50. print('购买成功!')
  51. break
  1. #!usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. # 四、购物车(第二中方法)
  5. # 功能要求:goods已提供
  6. # 要求用户输入总资产,例如:2000
  7. # 显示商品列表,让用户根据序号选择商品,加入购物车
  8. # 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  9. # 附加:可充值、某商品移除购物车
  10. goods = [
  11. {"name": "电脑", "price": 1999},
  12. {"name": "鼠标", "price": 10},
  13. {"name": "游艇", "price": 20},
  14. {"name": "美女", "price": 998},
  15. ]
  16. asset_total = 0
  17. i1 = input('请输入总资产:')
  18. asset_total = int(i1)
  19. for i in goods:
  20. print(i['name'],i['price'])
  21. cart = {} #目标字典{'电脑':{'price':1999,'num':1}}
  22.  
  23. while True:
  24. i2 = input('请输入您加入购物车的商品(y/Y结束):')
  25. if i2.lower() == 'y':
  26. break
  27. for i in goods:
  28. if i2 in cart:
  29. num = cart[i2]['num'] + 1
  30. else:
  31. num = 1
  32. if i2 == i['name']:
  33. cart[i2] = {'price':i['price'],'num':num}
  34. sum_price = 0
  35. print(cart)
  36. for i in cart:
  37. price = cart[i]['price'] * cart[i]['num']
  38. sum_price += price
  39. if sum_price > asset_total:
  40. print("余额不足!")
  41. else:
  42. print("购买成功")

  

【python之路10】python实例练习的更多相关文章

  1. Python之路,Day4 - Python基础4 (new版)

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  2. Python之路,Day7 - Python基础7 面向对象

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...

  3. Python之路:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  4. Python之路,Day1 - Python基础1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  5. Python之路:Python简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间他为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承 ...

  6. 【Python之路】Python目录

    Python基础1 -- Python由来.Python种类.编码方式, Python基础2 -- Python运算符.数据类型.enumerate.range.for循环 python基础3 -- ...

  7. Python之路,Day1 - Python基础1(转载Alex)

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  8. Python之路,Day1 - Python基础1 --转自金角大王

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  9. Python之路,Day1 - Python基础1 介绍、基本语法、流程控制

    本节内容 1.python介绍 2.发展史 3.python 2.x or python 3.x ? 4.python 安装 5.第一个程序 Hello World 程序 6.变量 7.用户输入 8. ...

  10. Python之路-初识python及环境搭建与测试(Python安装、Anaconda安装、PyCharm安装)

    一.认识Python 起源 Python的作者是著名的“龟叔”Guido van Rossum,他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻 ...

随机推荐

  1. kvstore之mongodb为存储介质

    配置config(连接mongo) mongo define('KVSTORE_STORAGE', 'base_kvstore_mongodb'); define('MONGODB_SERVER_CO ...

  2. lua: Learning Official Doc notes

    dynamically typed vars: basic types: nil, boolean, number, string, function, userdata, thread & ...

  3. Apache+Tomcat服务器集群配置

    在实际应用中,如果网站的访问量很大,为了提高访问速度,可以与多个Tomcat服务器与Apache服务器集成,让他们共同运行servlet/jsp 组件的任务,多个Tomcat服务器构成了一个集群(Cl ...

  4. getScrollX()理解

  5. HDU 5813 Elegant Construction

    构造.从a[i]最小的开始放置,例如放置了a[p],那么还未放置的,还需要建边的那个点 需求量-1,然后把边连起来. #pragma comment(linker, "/STACK:1024 ...

  6. Robotium第一天:搭建环境测试微信

    因为要在命令行下运行一些android的工具,所以配置一些环境变量会比较方便: 遇到问题: java -jar re-sign.jar 出现提示android路径没有配置好: 需要配置如下: 配置AN ...

  7. Chapter 1 First Sight——35

    The final bell rang at last. I walked slowly to the office to return my paperwork. 最后下课铃响了.我走到了办公室上讲 ...

  8. Web开发人员不要错过的60款用户界面设计工具(下)

    41. Snipplr 包含最新的脚本和jQuery技术资源库. 42. Midori Midori是一个超轻量级的JavaScript框架,可使用CSS选择器快速访问页面上对应的元素. 43. ro ...

  9. YII2 请求(request)

    请求 一个应用的请求是用 yii\web\Request 对象来表示的,该对象提供了诸如 请求参数(译者注:通常是GET参数或者POST参数).HTTP头.cookies等信息. 默认情况下,对于一个 ...

  10. hdu_3001_Travelling(状压DP)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3001 题意:给你N个点,M条边,每个点最多走两次,问走完N个点最短的路程为多少. 题解:注意这题有重边 ...