Python基础——day06

1.==和is的区别
==是比较值是否相等,is是比较内存地址id是否相等。
2.小数据池
1.数字:-5—256。
2.字符串:不能含有特殊字符,小于s*20还是共用。
3.剩下的list,dic,tuple,set都没有小数据池概念。

s1 = "jiaoxin"
s2 = "jiaoxin"
print(s1 is s2)  # 结果是True

3.编码
Unicode:一个字符是32位,一个字母4个字节。一个汉字是32位,一个汉字4个字节。
UTF-8:一个字母是8位,一个字母1个字节。 一个汉字是24位,一个汉字3个字节。
GBK: 一个字母是8位,一个字母1个字节。 一个汉字是16位,一个汉字2个字节。
1.各编码之间的二进制,是不能相互识别的,会产生乱码。
2.文件的存储,传输不能是Unicode(只能是utf-8,utf-16,gbk,ascii等)
3.在python3中,str是在内存中用Unicode编码。
4.encode():str–>byte(可以设置编码方式)。表面是将str转化为bytes,实际内部是将unicode转化为utf-8,gbk,ascii,gb2312等。
2.购物车程序

#!/usr/bin/env.python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
 File Name:  shopping
 Description :
 Author :  lym
 date:   2018/2/24
-------------------------------------------------
 Change Activity:
     2018/2/24:
-------------------------------------------------
"""
__author__ = 'lym'
#定义一个商品列表,里面写入商品的值和价格
product_list = [
    ('iphone',5000),
    ('coffee',31),
    ('bicyle',888),
    ('iwatch',2666),
    ('Mac Pro',12000),
    ('book',88)
]
shopping_list = []#空列表,存放购买的商品


salary = input("请输入你的工资:")
if salary.isdigit():# isdigit() 方法检测字符串是否只由数字组成,是则返回True,否则返回False
    salary = int(salary)
    while True:
        for index,i in enumerate(product_list):#index作为下标索引
            print(index,i)
#enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
        user_choice = input("请输入你要购买的商品:")
        if user_choice.isdigit():
            user_choice = int(user_choice)
            if user_choice < len(product_list) and user_choice >= 0:
                product_choice = product_list[user_choice]
                if product_choice[1] < salary:#买得起
                    shopping_list.append(product_choice)#买得起,就放入购物车
                    salary -= product_choice[1]
                    print("Add %s into your shopping_list,your balance is \033[31;1m%s\033[0m"%(product_choice,salary))
                else:
                    print("\033[41;1m你的余额只剩%s啦,还买个叼啊!\033[0m"%salary)
                    print("---------shopping list-----------")
                    for s_index, s in enumerate(shopping_list):
                        print(s_index, s)
                    print("---------shopping list-----------")
                    print("你的余额为:\033[31;1m%s\033[0m" % salary)
            else:
                print("没有这个商品")
        elif user_choice == "q":
            print("---------shopping list-----------")
            for s_index,s in enumerate(shopping_list):
                print(s_index,s)
            print("---------shopping list-----------")
            print("你的余额为:\033[31;1m%s\033[0m"%salary)
            exit()
        else:
            print("输入错误")
else:
    print("输入错误")

猜你喜欢

转载自blog.csdn.net/weixin_38091461/article/details/89208514