作业:
1、元组练习题
#简单购物车,要求如下:
实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
ANSR:
msg_dic = {
'apple': 10,
'tesla': 100000,
'mac': 3000,
'lenovo': 30000,
'chicken': 10,
}
goods_l = []
name = "商品列表"
name1 = "购物清单"
while True:
print(name.center(56, "="))
for key,value in msg_dic.items():
print("商品名称:{name} 商品价格:{price}元".format(name=key,price=value))
print(name.center(56, "="))
choice = input("请输入您要购买的商品: ").strip()
if choice not in msg_dic:
print("请输入正确的商品名称!")
continue
price = msg_dic.get(choice)
counts = input("请输入您要购买的数量: ").strip()
if not counts.isdigit():
continue
counts = int(counts)
goods_msg = '商品名称:{name} 购买数量:{counts}个 商品单价:{price}元 总价:{sum}元'.format(name=choice,counts=counts,price=price,sum=counts*price)
goods_l = goods_msg.split()
print(name1.center(66, "*"))
print(goods_l)
print(name1.center(66, "*"))
2、字典练习题:
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中,即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
ANSR:
l=[11,22,33,44,55,66,77,88,99,90]
new_l1=[]
new_l2=[]
dic={'k1':new_l1,'k2':new_l2}
for v in l:
if v > 66:
new_l1.append(v)
elif v < 66:
new_l2.append(v)
print(dic)
3、字典练习题:
统计s='hello alex alex say hello sb sb'中每个单词的个数,结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
ANSR:
s = 'hello alex alex say hello sb sb'
l = s.split()
dic={}
for k in l:
v=l.count(k)
dic[k]=v