#编码方式转换
print(bytes('你好',encoding='GBK')) #unicode转换成'GBK' bytes #b'\xc4\xe3\xba\xc3' print(bytes('你好',encoding='GBK').decode('GBK')) #再转换成unicode #你好
print(bytes('你好',encoding='utf-8')) #unicode转换成'utf-8' bytes #b'\xe4\xbd\xa0\xe5\xa5\xbd' print(bytes('你好',encoding='utf-8').decode('utf-8')) #'utf-8'转换成unicode #你好
#encode 编码,如何将Unicode str-->bytes
s1 = 'alex' s11 = s1.encode('utf-8') print(s11) #b'alex' s11 = s1.encode('gbk') print(s11) #b'alex' s2 = '中国' s22 = s2.encode('utf-8') print(s22) #b'\xe4\xb8\xad\xe5\x9b\xbd' s22 = s2.encode('gbk') print(s22) #b'\xd6\xd0\xb9\xfa'
#购物车程序
li = [ #商品列表 {'name':'苹果','price':10}, {'name':'香蕉','price':20}, {'name':'西瓜','price':30}, ] print('欢迎光临本店') shopping_car = {} #购物车 money = input('让我看看你的钱:') flag = True if money.isdigit() and int(money)>0: #输入的为数字且大于0 while flag: for i,k in enumerate(li): #枚举 print('序号: {}, 商品: {}, 价格: {}'.format(i,k['name'],k['price'])) choose = input('请输入您要购买的商品序号:') if choose.isdigit() and int(choose) < len(li): #序号为数字且在列表内 num = input('请输入您要购买的数量:') if num.isdigit(): #输入的数量为数字 if int(money) >= li[int(choose)]['price']*int(num): #现金>=单价*数量 money = int(money) - li[int(choose)]['price']*int(num) #金额 = 金额-单价*数量 if li[int(choose)]['name'] in shopping_car: #序号在购物车内 shopping_car[li[int(choose)]['name']] = shopping_car[li[int(choose)]['name']] + int(num) #购物车数量=购物车数量+购买数量 else: shopping_car[li[int(choose)]['name']] = int(num) #购物车数量赋值 print('购物车中的商品有 {},您的余额为{}'.format(shopping_car,money)) else: print('你的资金不足!不能购买') break else: print('你输入了为存在的序号') else: print('你的钱不合法,不能购买商品!')