迈向大神之路day006

day006

python 2的区别

  1. print ‘hllo’ #
  2. xrange 生成器
  3. 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("请重新输入")

猜你喜欢

转载自blog.csdn.net/qq_35131055/article/details/83089343