3/11 作业

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

l = ['alex',49,[1900,3,18]]
name = l[0]
age = l[1]
year = l[2][0]
mon = l[2][1]
day = l[2][2]

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

l = ['1','2','3','4','5']
l.append('6')  # 入队
l.pop(0)  # 出队
  1. 用列表的insert与pop方法模拟堆栈
l = ['1','2','3','4','5']
l.append('7')  # 入栈
l.pop()  # 出栈

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

msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
shop = []
while True:
    l_thing = []
    for i in msg_dic:
        print(i.ljust(9,' ') + ':' , msg_dic[i])
    thing = input('请输入商品名称:').strip()
    if thing == 'q':
        break
    if thing in msg_dic:
        while True:
            count = input('请输入购买数量:').strip()
            if count.isdigit():
                l_thing.append(thing)
                l_thing.append(msg_dic[thing])
                l_thing.append(count)
                print(l_thing)
                shop.append(tuple(l_thing))
                print(shop)
                break
            else:
                print('请输入阿拉伯数字')
    else:
        print('商品不存在或输入名称错误,请重新输入')

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

即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
答:

a = [11,22,33,44,55,66,77,88,99,90]
d = {}
k1 = []
k2 = []
for i in a:
    if i > 66 :
        k1.append(i)
    else:
        k2.append(i)
d.setdefault('k1',k1)
d.setdefault('k2',k2)
print(d)

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

s='hello alex alex say hello sb sb'
s1 = s.split(' ')
l = []
d = {}
for i in s1:
    if i not in l:
        l.append(i)
for x in l:
    d.setdefault(x,s1.count(x))
print(d)

猜你喜欢

转载自www.cnblogs.com/pythonwl/p/12462766.html