pythonlearning__3(元组,字典)

(4)元组tuple

公共功能
1.长度  len()
2.索引
3.for循环
4.可以嵌套(儿子不能修改,孙子可修改,如下面的嵌套的列表元素)
v=(11,22,['蒋毅','yier'],33,(9,1,2,"alex"),444)

(5)字典dict(无序)

v={"k1":'v1',  #键值对
   "k2":'v2',
  }
1.根据key获取对应的值,key不存在默认取None
val=v.get('k1')
print(val)
>>>v1

2.#和for循环一起使用
val1=v.keys()
val2=v.values()
val3=v.items()
print(val1,val2,val3)
>>>dict_keys(['k1', 'k2']) dict_values(['v1', 'v2']) dict_items([('k1', 'v1'), ('k2', 'v2')])
公共功能
1.获取字典长度   val=len()
2.索引
v['k1']=666   #key存在则更新值,不存在则创建键值对
del v['k1']   #删除键值对
3.for循环
for i in v:
    print(i)
>>>k1
   k2
    
for i in v.keys():       ###
    print(i)
>>>k1
   k2
    
for i in v.values():     ###
    print(i)
>>>v1
   v2
    
for i in v.keys():
    print(i,v[i])
>>>k1 v1
   k2 v2
    
for k in v.items():
    print(k)
>>>('k1', 'v1')
   ('k2', 'v2')
    
for k,v in v.items():     ###
    print(k,v)
>>>k1 v1
   k2 v2
4.字典嵌套
v={
    'k1':123,
    'k2':"asdf",
    'k3':True,
    'k4':[11,22,333],
    'k5':(1,2,3),
    'k6':{
           'kk1':'vv1',
           'kk2':'vv2'
    }
    'k7':[1,2,(3,7,5),{"k111":"vvv1"},5]
}
del v['k6']['kk2']
v['k7'][2]=666
v['k7'][3]['k222']='vvv2'    #不存在则创建键值对
>>>{'k1': 123, 'k2': 'asdf', 'k3': True, 'k4': [11, 22, 333], 'k5': (1, 2, 3), 'k6': {'kk1': 'vv1'}, 'k7': [1, 2, 666, {'k111': 'vvv1', 'k222': 'vvv2'}, 5]}
示例:
user_list=[
    {'name':'A','age':15},
    {'name':'B','agae':18},
    {'name':'c','age':20}
]
n=input("请输入姓名:")
a=input("请输入年龄:")
temp={'name':n,'age':int(a)}
user_list.append(temp)
for item in user_list:
    print(item['name'],item['age'])
>>>请输入姓名:e
请输入年龄:8
A 15
B 18
c 20
e 8
例题:购物车
v=[
    {"name":"电脑","price":"3999"},
    {"name":"鼠标","price":"99"},
    {"name":"键盘","price":"199"},
    {"name":"音响","price":"499"},
]
#1.让用户输入自己的余额
while True:
    money=input("请输入余额:")
    money=money.strip()
    if money.isdecimal():
        money=int(money)
        break
    else:
        print("请输入正确的数字")
print(money,type(money))
#2.显示商品列表
num=1
for item in v:
    print(num,item["name"],item["price"])
    num+=1
#3.让用户购买商品
cost=0
while True:
    index=input("请输入您想要购买的商品序号(q/Q结算):")
    if index.lower().strip()=='q':
        break
    #判断空格,是否数字,范围
    index=index.strip()
    if index.isdecimal():
        index=int(index)
        index=index-1
        if index>=0 and index<len(v):
            if index==0:
                a+=1
            elif index==1:
                b+=1
            elif index==2:
                c+=1
            elif index==3:
                d+=1
            temp="您购买的商品%s,价格:%s" %(v[index]['name'],v[index]['price'])
            print(temp)
            cost+=int(v[index]['price'])
        else:
            print("输入序号不合法")
    else:
        print("请输入数字")
#4.结算
if money>=cost:
    print('购买成功' )
    print("总共支付",cost,"元")
else:
    print('余额不足,请充值再购买')
posted @ 2020-10-08 17:10  HFlyaway  阅读(114)  评论(2)    收藏  举报