zoukankan      html  css  js  c++  java
  • day06作业

    简单购物车,要求如下:
    实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入  
    
    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    } 
     1 good_l = []
     2 while True:
     3     for key,item in msg_dic.items():
     4         print('name {name} price {price}'.format(price = item,name = key))
     5     choice = input('请输入想要的商品:').strip()
     6     if not choice or choice not in msg_dic:
     7         print('请从新输入商品名')
     8         continue
     9     while True:
    10         count = input('请输入数量:').strip()
    11         if not count.isdigit():
    12             continue
    13         else:
    14             msg= {
    15                 'good_info':(choice,msg_dic[choice]),
    16                 'count':count
    17             }
    18             good_l.append(msg)
    19             break
    20     print(good_l)
    View Code
    有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
    
    即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
    l = [11,22,33,44,55,66,77,88,99]
    d1 = {'k1':[],'k2':[]}
    
    print(d1 == l1)
    for i in l:
       if i > 66:
           # print(i)
           d1['k1'].append(i)
       elif i<66:
           d1['k2'].append(i)
    print(d1)
    
    #{'k1': [77, 88, 99], 'k2': [11, 22, 33, 44, 55]}
    2 统计s='hello alex alex say hello sb sb'中每个单词的个数
    
    结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2
    s='hello alex alex say hello sb sb'
    l=s.split(' ')
    print(l)
    d={}
    for item in l:
        d.setdefault(item,l.count(item))
    print(d)
    
    #['hello', 'alex', 'alex', 'say', 'hello', 'sb', 'sb']
    #{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
     一.关系运算
      有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
      pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
      linuxs={'wupeiqi','oldboy','gangdan'}
      1. 求出即报名python又报名linux课程的学员名字集合
      2. 求出所有报名的学生名字集合
      3. 求出只报名python课程的学员名字
      4. 求出没有同时这两门课程的学员名字集合
    pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    linuxs={'wupeiqi','oldboy','gangdan'}
    print(pythons & linuxs)
    print(pythons | linuxs)
    print(pythons - linuxs)
    print(pythons^linuxs)
    
    #{'gangdan', 'wupeiqi'}
    #{'yuanhao', 'oldboy', 'wupeiqi', 'egon', 'alex', 'biubiu', 'gangdan'}
    #{'yuanhao', 'egon', 'biubiu', 'alex'}
    #{'oldboy', 'yuanhao', 'egon', 'alex', 'biubiu'}
    二.去重
    
       1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
    l=['a','b',1,'a','a']
    print(list(set(l)))
    
    #[1, 'a', 'b']

     

       2.在上题的基础上,保存列表原来的顺序
    l1=[]
    for i in l:
        if i not in l1:
            l1.append(i)
    print(l1)
    
    
    
    
       3.去除文件中重复的行,肯定要保持文件内容的顺序不变
       4.有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序
    
    l=[
        {'name':'egon','age':18,'sex':'male'},
        {'name':'alex','age':73,'sex':'male'},
        {'name':'egon','age':20,'sex':'female'},
        {'name':'egon','age':18,'sex':'male'},
        {'name':'egon','age':18,'sex':'male'},
    ]  
    l=[
        {'name':'egon','age':18,'sex':'male'},
        {'name':'alex','age':73,'sex':'male'},
        {'name':'egon','age':20,'sex':'female'},
        {'name':'egon','age':18,'sex':'male'},
        {'name':'egon','age':18,'sex':'male'},
    ]
    dic = []
    for item in l:
        if item not in dic:
            dic.append(item)
    print(dic)
    
    #[{'name': 'egon', 'age': 18, 'sex': 'male'}, {'name': 'alex', 'age': 73, 'sex': 'male'}, {'name': 'egon', 'age': 20, 'sex': 'female'}]

     

     

     
  • 相关阅读:
    微软“隐形革命”
    关于董事会绩效评估的思考
    Redis源码分析(二十八)--- object创建和释放redisObject对象
    Redis源码分析(二十七)--- rio系统I/O的封装
    Redis源码分析(二十七)--- rio系统I/O的封装
    实战DeviceIoControl 之一:通过API访问设备驱动程序 分类: windows驱动程序WDM 2013-09-25 14:45 381人阅读 评论(0) 收藏
    马云:超过我只需十到十五年
    如何在不同文化背景下做简报
    Google与沃尔玛的薪酬战略—方法不同,目的一致
    传苹果9月9日发布iPhone 6S
  • 原文地址:https://www.cnblogs.com/msj513/p/9668893.html
Copyright © 2011-2022 走看看