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] =vprint(dic1)

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

#  商品li = ["手机", "电脑", ‘鼠标垫‘, ‘键盘‘]for num,v in enumerate(li,1):     print(num,v)choice = int(input("请选择商品:"))choice1=choice-1if 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 = 0all_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 = 0for 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 +=chongzhielse:    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 = 0for 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_priceprint("所有商品总价为:%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("省份还没有录入")

执行结果:

技术分享图片

python基本数据类型练习

评论关闭