• python基本数据类型练习


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

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

     二、查找
    1、 查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素

    li = ["alc", " aric ", "Aex", "Tny", "rain"]
    list1 =[]
    for l in li:
        #使用strip方法确定能寻找到所有元素,startwith,endwith按条件进行查找
        if l.strip().startswith('a'or 'A') and l.strip().endswith('c'):
            #print(l.strip())
            list1.append(l.strip())
    print(list1)

    2、元组

    tu = ("alc", " aric", "Alx", "Tny", "rain")
    #找出的元素放到一个新列表中,因为元组中不能增加元素
    list2 =[]
    for l in tu:
        #使用strip方法确定能寻找到所有元素,startwith,endwith按条件进行查找
        #if 判断遇到or和and是需要注意执行成功时的判断
        if l.strip().startswith('a'or 'A') and l.strip().endswith('c'):
            #print(l.strip())
            list2.append(l.strip())
    print(list2)
    

    3、字典

    dic = {'k1': "alx", 'k2': ' aric',  "k3": "Alx", "k4": "Tny","k5":" Anc "}
    #定义一个空字典
    dic1 = {}
    for k,v in dic.items():
        if (v.strip().startswith('a') or v.strip().startswith('A')) and v.strip().endswith('c'):
            print(v)
            dic1[k] =v
    print(dic1)
    

    三、输出商品列表,用户输入序号,显示用户选中的商品

    #  商品
    li = ["手机", "电脑", '鼠标垫', '键盘']
    for num,v in enumerate(li,1):
         print(num,v)
    choice = int(input("请选择商品:"))
    choice1=choice-1
    if choice1>=0 and choice1<=len(li)-1:
        print(li[choice1])
    else:
         print("商品不存在")

    四、购物车
    # 功能要求:
    #     要求用户输入总资产,例如:2000
    #     显示商品列表,让用户根据序号选择商品,加入购物车
    #     购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
    #     附加:可充值、某商品移除购物车
    方法一:

    goods = [
        {"product": "电脑", "price": 1999},
        {"product": "鼠标", "price": 10},
        {"product": "iphone", "price": 5000},
        {"product": "kindle", "price": 998},
    ]
    #已经买到的商品
    list_buy = []
    #输入总资产
    all_money = 0
    all_money = int(input("请输入总资产:"))
    #输出所有的产品
    for key,i in enumerate(goods,1):
        print(i['product'],i['price'])
    #当条件成立时,在购买环节循环
    while True:
        #选择需要买的商品
        choice = input("请选择商品(y/Y进行结算购买):")
        #是否进行结算
        if choice.lower() == "y":
            break
    
        #循环所有的商品与选择商品进行对比,如果存在,就添加到list_buy中
        for v in goods:
            if choice == v["product"]:
                list_buy.append(v)
    #输出所有打算购买的商品
    print(list_buy)
    #定义商品总价初始值
    total_price = 0
    for p in list_buy:
        #计算所有商品价格
        total_price = total_price+p["price"]
    if total_price>all_money:
        print("你的钱不够,请充值%d元"%(total_price-all_money))
        chongzhi = int(input("输入充值金额:"))
        all_money +=chongzhi
    else:
        print("购买成功")
        print(list_buy)
    

    方法二:

    goods = [
        {"product": "电脑", "price": 1999},
        {"product": "鼠标", "price": 10},
        {"product": "iphone", "price": 5000},
        {"product": "kindle", "price": 998},
    ]
    salary = int(input("请输入工资:"))
    #dic_shop_cart  = {"product":{"price":0,"num":0}}
    dic_shop_cart = {}
    #循环输出所有产品
    for p in goods:
        print(p['product'],p['price'])
    while True:
        choice = input("请选择购买的商品(y/Y进行结算):")
        if choice.lower() == 'y':
            break
        #循环所有商品
        for item in goods:
            #判断选择的商品是否在所有商品中
            if item["product"] == choice:
                #如果存在,就把商品赋值给product
                product = item["product"]
                #如果商品在字典dic_shop_cart中,字典中num就加1
                if product in dic_shop_cart.keys():
                    dic_shop_cart[product]["num"] = dic_shop_cart[product]["num"] + 1
                    #如果不在,就第一次添加到字典中
                else:
                    dic_shop_cart[product] = {"num":1,"single_price":item["price"]}
        print(dic_shop_cart)
    sum_price = 0
    for k,v in dic_shop_cart.items():
    #    print(k,v)
        t_price = v["single_price"]*v["num"]
        print("购买%s的数量为%s:总价为%d"%(k,v["num"],t_price))
        sum_price=sum_price+t_price
    print("所有商品总价为:%s"%sum_price)
    if sum_price>salary:
        print("你的钱不够,哈哈哈。。。,别买了吧")
    else:
        print("购买成功,有钱人啊。。。")
    

     输出结果:


    五、用户交互,显示省市县三级联动的选择

    dic = {
        "河北": {
            "石家庄": ["鹿泉", "藁城", "元氏"],
            "邯郸": ["永年", "涉县", "磁县"],
        },
        "北京": {
            "大兴": ["黄村", "清源", "天宫院"],
            "海淀": ["中关村", "西二旗", "五道口"],
        },
        "安徽": {
            "合肥": ["庐阳", "肥西", "滨湖"],
            "安庆": ["桐城", "宜秀区", "岳西"],
        }
    }
    for p in dic:
        print(p)
    p1 = input("请输入省份:")
    if p1 in dic.keys():
        for s in dic[p1]:
             print(s)
        s1 = input("请输入市区:")
        if s1 in dic[p1].keys():
            for q in  dic[p1][s1]:
                print(q)
        else:
            print("市区还没有录入")
    else:
        print("省份还没有录入")
    

     执行结果:

  • 相关阅读:
    LINQ体验(13)——LINQ to SQL语句之运算符转换和ADO.NET与LINQ to SQL
    ASP.NET 3.5 Extensions、Expression Studio和Silverlight、IE 8 Preview 发布及学习资源、安装问题汇总
    Silverlight 2 (beta1)数据操作(1)——使用ASP.NET Web Service进行数据CRUD操作(上)
    LINQ体验(14)——LINQ to SQL语句之存储过程
    LINQ体验(16)——LINQ to SQL语句之DataContext
    LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作
    LINQ可视化查询编辑器: VLinq
    LINQ体验(18)——LINQ to SQL语句之视图和继承支持
    LINQ体验(15)——LINQ to SQL语句之用户定义函数
    Silverlight 2 (beta1)数据操作(2)——使用ASP.NET Web Service进行数据CRUD操作(下)
  • 原文地址:https://www.cnblogs.com/wclwcw/p/8353642.html
Copyright © 2020-2023  润新知