day006
python 2的区别
- print ‘hllo’ #
- xrange 生成器
- raw_input()
两个地址命令
is 比较的是内存地址 id 是内存地址
地址相关知识
小数据池 节省空间 适用于: 数字和字符串 -5 --256 公共适应地址是一样的
str :如果想同一个同一个地址条件
1.字符串不能有特殊字符 2.s*20 一个字符 还是同一个地址
python3的一些编码知识
str 在内存中用的是unicode 编码
bytes 类型 和str区别,编码方式不同
转化形式 str ->bytes
对于英文
str s=‘alex’
bytes s=b‘alex’
对于中文
str s=‘中文’
bytes s=b‘x\e91\e91’–utf-8 3个字节表示一个中文 gbk是两个字节
str 转化为 bytes
sl=‘alex’
sl1=s1.encode(‘utf-8’)
各个编码之间的二进制 不能相互识别 会产生乱码
文件存储和传输 不是unicode 只是utf-8和gbk asii
案列购物车:
li=[{'name':'apple','price':10},
{'name':'banana','price':20} ] #生成一个商品列表
shopping_car={ }
print('欢迎光临本商店:')
money=input("让我看看你的贝壳:")
if money.isdigit() and int(money)>0:
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']]=int(num)+ shopping_car[li[int(choose)]['name']]
else:
shopping_car[li[int(choose)]['name']]=int(num)
print("购物车的商品有{}:你的余额为:{}".format(shopping_car,money))
else:
print("没有钱你来干什么:")
else:
print("请重新输入")