Python基础篇 -- 字典练习题

  1. 实现一个整数加法计算器(两个数相加):

    如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。(列表也支持索引)

    content = input("请输入内容")
    content = content.replace(" ","")
    lst = content.split("+")
    print(int(lst[0]) + int(lst[1])
    
  2. 输出商品列表,用户输入序号,显示用户选中的商品(升级题)

    商品列表:
           goods = [{"name": "电脑", "price": 1999},
    
             {"name": "鼠标", "price": 10},
    
             {"name": "游艇", "price": 20},
    
             {"name": "美女", "price": 998}, ]
    

    要求:

    1:页面显示 序号 + 商品名称 + 商品价格,如

    ​ 1 电脑 1999

    ​ 2 鼠标 10

    2:用户输入选择的商品序号,然后打印商品名称及商品价格

    3:如果用户输入的商品序号有误,则提示输入有误,并重新输入

    4:用户输入Q或者q,退出程序

goods = [{"name": "电脑", "price": 1999},
         {"name": "鼠标", "price": 10},
         {"name": "游艇", "price": 20},
         {"name": "美女", "price": 998}, ]
for i in range(len(goods)):
    print(i+1, goods[i]["name"],goods[i]["price"])
while True:
    s = input("请输入序号")
    if s.upper() == "Q":
        break
    if s.isdigit():
        s = int(s) - 1
        if s >= 0 and s < len(goods):
            print(goods[s]["name"],goods[s]["price"])
        else:
            print("输入有误")
    else:
        print("不合法")
  1. 元素分类

    有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

    即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}

    # 第一种
    li= [11,22,33,44,55,66,77,88,99,90]
    dic = {"k1":[], "k2":[]}
    for num in li:
        if num > 66:
            dic["k1"].append(num)
        elif num < 66:
            dic["k2"].append(num)
    print(dic)
     
    # 第二种
    li= [11,22,33,44,55,66,77,88,99,90]
    dic = {}
    for i in li:
        if i > 66:
            dic.setdefault("k1", []).append(i)
        elif i < 66:
            dic.setdefault("k2", []).append(i)
    print(dic)
    
原文地址:https://www.cnblogs.com/Agoni-7/p/11000092.html