代码改变世界

practice1

2017-08-02 09:15  cui_xx  阅读(151)  评论(0)    收藏  举报

#utf-8 编码,一个汉字,3个字节


一、元素分类
有如下集合[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 i in li:
            if i <= 66:
                dic["k2"].append(i)
            else:
                dic["k1"].append(i)

    print (dic)

{'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55, 66]}


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

--------------------------------------------

li = ["alec"," aric","Alec","Tony","rain"]
for i in li:
    new_i = i.strip()
    if new_i.startswith('a') or new_i.startswith('A') and new_i.endswith('c'):
        print (new_i)

-----------------------------

dic = {'k1':"alec",'k2':" aric",'k3':"Alec",'k4':"Tony"}
for i in dic.values():
    new_i = i.strip()
    if new_i.startswith('a') or new_i.startswith('A') and new_i.endswith('c'):
        print (new_i)

--------------------------------------------
三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li=["手机","电脑","鼠标垫","游艇"]
li = ["手机","电脑","鼠标垫","游艇"]
#enumerate
for key, item in enumerate(li, 1):
    print (key,item)
len_li = len(li)
inp = input("请输入商品编号:")
num = int(inp)
if num <= len_li and num > 0:
    print (li[int(inp)-1])
else:
    input ("您输入的商品编号不存在,请重新输入")

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

dic = {
    "河北":{
        "石家庄":{"鹿泉", "荣成", "元氏"},
        "邯郸":{"永年","涉县","磁县"}
    },
    "山东":{
        "济宁":{"梁山","郓城","东平"},
        "济南":{"泰安","青岛","蓬莱"}
    }
}

#循环输出所有的省
for x in dic:
    print (x)

i1 = input("请输入省份:")
a = dic[i1]

#循环输出所有的市
for j in a:
    print (j)

i2 = input("请输入市:")
b = dic[i1][i2]
for z in  b:
    print (z)

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



asset_all = 0
li = input("请输入总资产:")
asset_all = int(li)

goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "名画", "price": 998},
]

for i in goods:
    print (i['name'], i['price'])

car_dict = {}
#car_dict = {
#   '电脑':{'price':单价, num:1}
# }


while True:
    i2 = input("请选择商品(Y/y结算):")
    if i2.lower() == 'y':
        break
    for item in goods:
        if item['name'] == i2:
         #item = {"name":"电脑", "price": 1999}
            name = item['name']
            #判断购物车是否已经有该商品,有,num+1
            if name in car_dict.keys():
                #pass
                car_dict[name]['num'] = car_dict[name]['num'] + 1
            else:
                car_dict[name] = {"num":1, "single_price":item['price']}
    print (car_dict)

# {
#     '鼠标': {'single_price':10, 'num':1}, 1*10
#     '电脑': {'single_price':1999, 'num':9}, 9*1999
# }

all_price = 0
for k, v in car_dict.items():
    n = v['single_price']
    m = v['num']
    all_sum = m * n
    all_price = all_price + all_sum

if all_price > asset_all:
    print ("余额不足")
else:
    asset_all = asset_all - all_price
    print ("购买成功")