Python练习二

一、元素分类
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
s = {11,22,33,44,55,66,77,88,99,90}
num = {'k1':[],'k2':[]}
li = list(s)
for item in s:
    #print(item)
    if item > 66:
        num['k1'].append(item)
    elif item < 66:
        num['k2'].append(item)
    else:
        continue
for item in num.values():
    print(item)
View Code

二、查找
查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}

print('''li = ["alec", " aric", "Alex", "Tony", "rain"]''')
for item in li:
    new = item.strip()
    if (new.startswith('a') or new.startswith('A')) and new.endswith('c'):
        print(new)
print('''
tu = ("alec", " aric", "Alex", "Tony", "rain")''')
for item in tu:
    new = item.strip()
    if (new.startswith('a') or new.startswith('A')) and new.endswith('c'):
        print(new)
print('''
dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}''')
for item in dic.values():
    new = item.strip()
    if (new.startswith('a') or new.startswith('A')) and new.endswith('c'):
        print(new)
View Code

三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']

li = ["手机", "电脑", '鼠标垫', '游艇']
for k,v in enumerate(li,1):
    #print(k,v)
    print k,v #python是2.x版本,在语句后加一个英文的逗号 ,就能打印后不会换行
k = raw_input("请输入商品编号:")
n = int(k)
n -= 1
print "你选择的商品是:",
print(li[n])
View Code
四、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
asset = 2000 #资产
shopping_cart = []#购物车
min = 0 #最便宜的商品价格
goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
    ]
#显示可选择的商品列表
for k,v in enumerate(goods,1):
    print k,v["name"],v["price"]

while asset > 0:
    num = raw_input("请输入购买的商品编号:")
    n = int(num)-1
    if n < 0 or n >= len(goods):
        print "很抱歉,你选择的商品编号不存在。请重新选择~"
        continue
    print "你选择购买:",goods[n]["name"],",价格是:",goods[n]["price"]
    if asset - goods[n]["price"]> 0:
        asset -= goods[n]["price"]
        print goods[n]["name"],"购买成功!"
        shopping_cart.append(goods[n])
        print "asset余额:",asset
        for item in goods:
            p = int(item["price"])
            if min > p:
                min = p
        if asset < p:
            print "很抱歉,您余额已不足购买任何商品。谢谢你的光顾~"
            break
    else:
        print "账户余额不足"
        break
print "=================="
print "本次,您成功购买的商品有:"
for item in shopping_cart:
    print item["name"],item["price"]
View Code
 五、用户交互,显示省市县三级联动的选择
dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
}
"河南": {
...
}
"山西": {
...
}

}
dic = {
    "河北": {
        "石家庄": ["鹿泉", "藁城", "元氏"],
        "邯郸": ["永年", "涉县", "磁县"],
    },
    "安徽": {
        "合肥市":["庐阳区","瑶海区 ","蜀山区"],
        "芜湖市":["镜湖区","鸠江区","无为县"]
    },
    "山西": {
        "太原市":["杏花岭区","小店区","小店区","小店区"],
        "大同市":["城区","矿区","南郊区"]
    }
}
#打印出省市县列表
for k,v in enumerate(dic,1):
    print k,v
    province = dic[v]
    for item in province:
        print item
        city = province[item]
        for item in city:
            print item,
        print "
"
while 1:
    province = raw_input("请输入省会:")
    if dic.get(province) == None:
        print "您输入的省会",province,"还没录入"
        continue
    else:
        for item in dic[province]:
            print item
        city = raw_input("请输入市:")
        if city not in dic[province]:
            print "您输入的市",city,"还没录入"
            continue
        else:
            for item in dic[province][city]:
                print item;
            #print city
            county = raw_input("请输入县:")
            if county not in dic[province][city]:
                print "您输入的县",county,"还没录入"
                continue
            else:
                print "你所在的区域是:",province,city,item
View Code
原文地址:https://www.cnblogs.com/jessie-ji/p/6495273.html