列表、元组、字典练习题

1、有列表[‘alex’,49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量

 l = ['alex',49,[1900,3,18]]
 name = l[0]
 age = l[1]
 brithday = l[2]
 print('名字是{
    
    }年龄是{
    
    }出生年月日是{
    
    }'.format(name,age,brithday))

2、用列表的insert与pop方法模拟队列

 l = []
 l.insert(0,1)
 l.insert(1,2)
 l.insert(2,3)
 print(l)

 m = l.pop(0)
 n = l.pop(0)
 z = l.pop(0)
 print(l)
 print(m,n,z)
  1. 用列表的insert与pop方法模拟堆栈
 l = []
 l.insert(0,1)
 l.insert(1,2)
 l.insert(2,3)
 print(l)
 m = l.pop()
 n = l.pop()
 z = l.pop()
 print(l,m,n,z)

4、简单购物车,要求如下:
实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数以三元组形式加入购物列表,
如果输入为空或其他非法输入则要求用户重新输入  
msg_dic={
‘apple’:10,
‘tesla’:100000,
‘mac’:3000,
‘lenovo’:30000,
‘chicken’:10,
}

for k,v in msg_dic.items():
    print('商品:%s 价格:%s' % (k,v))
name = input('请输入商品名:')
number = input('请输入购买个数:')
if name.isspace() or name not in msg_dic:
    print('输入错误,请重新输入')
else:
    while True:
        if  number.isdigit():
            number = int(number)
            price = msg_dic[name] * number
            list = (name,number,price)
            print('购物列表'.center(30,'*'),'\n',list)
            break
        else:
            print('请输入正确的购买个数')

5、有如下值集合 [11,22,33,44,55,66,77,88,99,90…],将所有大于 66 的值保存至字典的第一个key中,
将小于 66 的值保存至第二个key的值中

dic = {
    
    11,22,33,44,55,66,77,88,99,90}
b1=[]
b2=[]
for m in dic:
    if m > 66 :
        b1.append(m)
    elif m < 66:
        b2.append(m)
b = {
    
    'k1':b1,'k2':b2}
print(b)

6、统计s='hello alex alex say hello sb sb’中每个单词的个数

s='hello alex alex say hello sb sb'
print(s.split())
print(s.count('hello'))
print(s.count('alex'))
print(s.count('say'))
print(s.count('hello'))
print(s.count('sb'))

猜你喜欢

转载自blog.csdn.net/weixin_47237915/article/details/114336237