Python學習之旅-15

關於列表,元組,字典的小練習

  1. 元素分類

    有如下值集合 [11,22,33,44,55,66,77,88,99,90…],將所有大於 66 的值保存至字典的第一個key中,將小於 66 的值保存至第二個key的值中。
    即: {‘k1’: 大於66的所有值, ‘k2’: 小於66的所有值}

def work1():
    m_list = [11,22,33,44,55,66,77,88,99,90]
    m_dics = {'k1':[],'k2':[]}
    for i in m_list:
        if i > 66:
            m_dics.get('k1').append(i)
        elif i < 66:
            m_dics.get('k2').append(i)
        else:
            print("66--->我該去哪")
        print(m_dics)
  1. 查找
    查找列表中元素,移除每個元素的空格,並查找以 a或A開頭 並且以 c 結尾的所有元素。
    li = [“alec”, ” aric”, “Alex”, “Tony”, “rain”]
    tu = (“alec”, ” aric”, “Alex”, “Tony”, “rain”)
    dic = {‘k1’: “alex”, ‘k2’: ’ aric’, “k3”: “Alex”, “k4”: “Tony”}
def work2():
    li = ["alec", " aric", "Alex", "Tony", "rain"]
    tu = ("alec", " aric", "Alex", "Tony", "rain")
    dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
    for i in li:
        i=i.strip()
        if(i.title().startswith('A') and i.title().endswith('c')):
            print('li',i)
    for i in tu:
        i=i.strip()
        if(i.title().startswith('A') and i.title().endswith('c')):
            print('tu',i)
    for i in dic:
        i=dic[i].strip()
        if(i.title().startswith('A') and i.title().endswith('c')):
            print('dic',i)
  1. 輸出商品列表,用戶輸入序號,顯示用戶選中的商品
    商品 li = [“手機”, “電腦”, ‘鼠標墊’, ‘遊艇’]
li = ["手機", "電腦", '鼠標墊', '遊艇']
    while True:
        num = input('''請輸入你要查看的商品標號
                1-->手機
                2-->電腦
                3-->鼠標墊
                4-->遊艇''')
        if num == 'quit':
            break
        if(num.isdigit() and int(num) in [1,2,3,4]):
            print(li[int(num)-1])
  1. 購物車
    功能要求:
    要求用戶輸入總資產,例如:2000
    顯示商品列表,讓用戶根據序號選擇商品,加入購物車
    購買,如果商品總額大於總資產,提示賬戶餘額不足,否則,購買成功。
    附加:可充值、某商品移除購物車
    goods = [
    {“name”: “電腦”, “price”: 1999},
    {“name”: “鼠標”, “price”: 10},
    {“name”: “遊艇”, “price”: 20},
    {“name”: “美女”, “price”: 998},
    ]
def work4():
    goods = [
    {"name": "電腦", "price": 1999},
    {"name": "鼠標", "price": 10},
    {"name": "遊艇", "price": 20},
    {"name": "美女", "price": 998},]
    goods_dict={}
    for i in goods:
        goods_dict[i.get('name')] = i.get('price')

#     print(goods_dict)
    user_assets = 0
    while(user_assets==0):
        input_num = input('請輸入你的初始資產:   ')
        if(input_num.isdigit() and int(input_num)>0):
            user_assets = int(input_num)
            print('恭喜您擁有%d元初始資產' % user_assets)
    m0_tag=True
    user_goods={}
    while(m0_tag):
        goods_num = input('''
                                                請輸入你要購買的商品標號
                    1-->電腦   價格:1999元
                    2-->鼠標   價格:10元
                    3-->遊艇   價格:20元
                    4-->美女   價格:998元
                    5-->查看購物車
                    6-->充值   咱有錢
                    7-->OK,結賬''')
        if(goods_num in ['1','2','3','4']):
            m_good_name = goods[int(goods_num)-1].get('name')
            m_good_price = goods[int(goods_num)-1].get('price')
            if(user_assets < m_good_price):
                print('你的餘額已不足購買%s' % m_good_name)
                input('''任意鍵-->繼續操作''')
                continue
            if (m_good_name in user_goods.keys()):
                user_goods[m_good_name]=user_goods.get(m_good_name)+1
            else:
                user_goods[m_good_name]=1
            user_assets-=m_good_price
            print(user_goods)
            print('購買%s成功,剩餘%d元' % (m_good_name,user_assets))
        elif(goods_num == '5'):
            if user_goods=={}:
                print('恭喜您,購物車空空如也')
            else:
                m5_tag=True
                while m5_tag:
                    for user_good in user_goods:
                        print('您已購買:%s---->%d件' % (user_good,user_goods.get(user_good)))
                    print('您的賬戶餘額:%s' % user_assets)
                    m_select=input('''
                                1-->繼續購物
                                2-->刪除已購買商品
                    ''')
                    if(m_select=='1'):
                        m5_tag=False
                        continue
                    elif(m_select=='2'):
                        user_del_sel = input('''
                                                                                請輸入您要刪除商品標號
                                    1-->電腦 
                                    2-->鼠標
                                    3-->遊艇
                                    4-->美女 
                        ''')
                        if(user_del_sel in ['1','2','3','4']):
                            user_del_good = goods[int(user_del_sel)-1].get('name')
                            user_del_num = user_goods.get(user_del_good)
                            if(user_del_good in user_goods.keys()):
                                user_goods.pop(user_del_good)
                                print('您已刪除:%s-->%d件' % (user_del_good,user_del_num))
                                print('---------------------------')
                                user_assets=user_assets+user_del_num*goods_dict.get(user_del_good)
                            else:
                                print('您並沒有購買%s' % user_del_good)
        elif(goods_num == '6'):
            user_assets_add = input('請輸入您要充值的金額:  ')
            if(user_assets_add.isdigit()):
                user_assets+=int(user_assets_add)
                print('充值成功,賬戶餘額:%s元' % user_assets)
            else:
                print('輸入有誤,請重新操作')
        elif(goods_num == '7'):
            user_cost=0
            if user_goods=={}:
                print('恭喜您,一毛錢也沒有花,因爲您什麼也沒有購買')
            else:
                for user_good in user_goods:
                    print('您已購買:%s---->%d件' % (user_good,user_goods.get(user_good)))
                    user_cost+=(user_goods.get(user_good)*goods_dict.get(user_good))
            print('購買物品的總價爲:%s元' % user_cost)
            print('您的賬戶餘額:%s元' % user_assets)
            input('''任意鍵-->退出''')
            m0_tag = False
            break
        input('''任意鍵-->繼續操作''')
發佈了51 篇原創文章 · 獲贊 10 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章