• python学习之路——作业 day6(18/9/18)


    #简单购物车,要求如下:
    实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入  
    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }
    good_list=[]
    while True:
    for k,v in msg_dic.items():
    print(k,v)
    good_name= input('请输入商品名:').strip()
    if good_name not in msg_dic:
    print('请重新输入商品名:')
    continue
    while True:
    num = input('请输入商品数量').strip()
    if not num.isdigit():
    continue
    num = int(num)
    msg=(good_name,msg_dic[good_name],num)
    good_list.append(msg)
    break
    print(good_list)

    ====================================================
    1 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
    
    即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}


    list1={'k1':[],'k2':[]}
    l=[11,22,33,44,55,66,77,88,99,90]
    for i in l:
    if i >66:
    list1['k1'].append(i)
    elif i<66:
    list1['k2'].append(i)
    print(list1)

    =====================================================
    一.关系运算
      有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
      pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
      linuxs={'wupeiqi','oldboy','gangdan'}
      1. 求出即报名python又报名linux课程的学员名字集合
    print(pythons&linuxs)   2. 求出所有报名的学生名字集合
    print(pythons|linuxs)   3. 求出只报名python课程的学员名字
    print(pythons-linuxs)   4. 求出没有同时这两门课程的学员名字集合
      print(pythons^linuxs)


    二.去重
    
       1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
    l=['a','b',1,'a','a']
    print(list(set(l)))
       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'}, ]  
    
    
    li=[]
    for i in l:
    if i not in li:
    li.append(i)
    print(li)




  • 相关阅读:
    以此来励志吧!!!(选自:知乎)
    【P1303】苹果二叉树
    【P1813】8的倍数
    2016.9.4 の 測試
    后缀数组
    个中模板
    基数排序
    【NOIP2014D2T3】解方程
    【HAOI2006】【BZOJ1051】【p1233】最受欢迎的牛
    java安全性-引用-分层-解耦
  • 原文地址:https://www.cnblogs.com/unbrokenlin/p/9671248.html
Copyright © 2020-2023  润新知