#简单购物车,要求如下:
实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
good_list=[]
while True:
for k,v in msg_dic.items():
print(k,v)
good_name= input('请输入商品名:').strip()
if good_name not in msg_dic:
print('请重新输入商品名:')
continue
while True:
num = input('请输入商品数量').strip()
if not num.isdigit():
continue
num = int(num)
msg=(good_name,msg_dic[good_name],num)
good_list.append(msg)
break
print(good_list)
====================================================
1 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
list1={'k1':[],'k2':[]}
l=[11,22,33,44,55,66,77,88,99,90]
for i in l:
if i >66:
list1['k1'].append(i)
elif i<66:
list1['k2'].append(i)
print(list1)
=====================================================
一.关系运算
有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
1. 求出即报名python又报名linux课程的学员名字集合
print(pythons&linuxs)
2. 求出所有报名的学生名字集合
print(pythons|linuxs)
3. 求出只报名python课程的学员名字
print(pythons-linuxs)
4. 求出没有同时这两门课程的学员名字集合
print(pythons^linuxs)
二.去重
1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
l=['a','b',1,'a','a']
print(list(set(l)))
2.在上题的基础上,保存列表原来的顺序
l1=[]
for i in l:
if i not in l1:
l1.append(i)
print(l1)
3.去除文件中重复的行,肯定要保持文件内容的顺序不变
4.有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序
l=[ {'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'}, ]
li=[]
for i in l:
if i not in li:
li.append(i)
print(li)