Py修行路 python基础(二)变量 字符 列表

变量
容器
变量名 标记 数据的作用

字符编码

二进制位 = bit
1个二进制位是计算机里的最小表示单元

1个字节是计算机里最小的存储单位

8bits = 1Byte =1字节
1024Bytes = 1KB =1024 字节
1024KB = 1MB = 100万字节 =100万字符 =1兆
1024MB = 1GB = 一部高清电影短片,1080p 20分钟,
1024GB = 1TB
1024TB = 1PB


ASCII 256 每一个字符占8位
GB2312 1980 67xx
GBK1.0 1995 21000
GB18030 2000 27000

unicode 万国码
utf-32 = 4字节
utf-16 = 2字节
utf-8 = 8bits 可变长编码
英文一个字节,所有的中文3个字节
欧洲 2个字节

注释:#或是''' '''

单引号和双引号没有任何区别,只适用于单行

三个单或是双引号,适用于 多行字符串 或 多行注释。

数据类型
str

数字类型
int 整型
long 长整型
float 浮点型
复数
bool 布尔值
True 真
False 假

字符

字符常用功能 字符串是 %s;整数 %d;浮点数%f

移除空白
name = ' Alex Li '
print(name)
print(name.strip()) #把一个字符串中的空行脱掉

分割
print (name.split())#把一个字符串 按空格分割成 列表

长度
len(name) # 长度判断
索引

切片
print(name1.index("h")) index 索引
正着 print(name1[0:8]) #切片
倒着 print(name1[-6:]) #切片 默认顺序从左往右 顾头不顾尾
跳着切 print(name1[0::2]) #2 表示步长

列表
name = [‘’,‘’,‘’]
print(type(names))
print(name[-1]) 从列表中提取某个数据 切片

print(name.index("人名")) #返回元素的索引下标,用于众多数据中查找
print(name.count("人名")) #统计
name.append("光头") #追加
指定位置添加(插入) # insert 插入
name.insert(4,“陈涛”) 前边写位置,后边写插入内容

name.pop(4) #删除 以索引 到的 位置定位 默认删除最后一个
name.remove("李智") #删除第一个李智 元素
del name[1] # 删除第一个位置上的值

改 name[index] = NewValue #新的值
names[names.index("骗子")] = “大骗子”


break 跳出本层循环
continue #跳出本次循环
for 及 while循环,后边的else条件,是当循环正常结束之后,才后走else条件!

 

 

作业1
跳出多层循环 ,三层循环, 最里层,直接跳出3层, exit()

代码:

#!usr/bin/env python
# _*_ coding:utf-8 _*_
# 跳出多层循环 ,三层循环, 最里层,直接跳出3层!!!
count = 0
running = True #定义一个变量,赋值为True!
while running: # 第一层,while循环
print("number---->",count) #打印值
count +=1 #每打印一次自加1
if count == 5: #当值等于5时,进行第二层循环
for i in range(5):
print("i---->",i) #输出i的值
else: #if i == 4: 当i的值为4时,for循环结束,进行下一层循环
for j in range(5): #进行第三层循环
print("j---->",j) #打印j的值
else: #for循环结束时,打印
print("exit")
running = False #退出整个循环!

作业2
购物车程序

购物要求:

python shopping.py

input your salary: 5000

你可以买下面的东西:

1. iphone 5800
2. coffee 30
3. book 50
4. condom 90
>>: 1
买不起,打印差多少

>>:2
放入购物车,扣钱,同时打印余额。。。 4970

>>:3
...
>>:4

>>:q
您买了下面的东西
coffee 30
book ..333


你还有多少前 3000

bye.

 

代码如下:

#!usr/bin/env python
# _*_ coding:utf-8 _*_

good_list=[["iphone",5800],["bike",1000],["coffee",30],["book",35],["pen",3]] # 商品列表
shopping_car=[] #购物车

print("welcome!")
salary = int(input("please input your salary:")) #输入工资
running = True
while running:
print("you can buy something in the list:") #打印商品列表
print("--------------------------------")
for i in range(len(good_list)):
good_name = good_list[i][0]
good_price = good_list[i][1]
print(i+1,good_name,good_price)
print("--------------------------------")
user_choice = input("what are you want to buy?(check=c;quit=q)""please input serial number:") #输入选择
if user_choice.isdigit(): #判断是否是数字isdigit 网上查的判断
user_choice = int(user_choice)-1#是数字的话
if user_choice < len(good_list): #先判断,输入的数字小于商品序号
good_choice = good_list[user_choice] #客户选择的商品
if good_choice[1] <= salary: # 判断商品价钱和工资的关系
shopping_car.append(good_choice) #将商品加入购物车
salary -= good_choice[1] #买完东西之后的余额
for i in range(len(shopping_car)):
print("you buy:%s" %shopping_car[i]) #打印购物车中的东西
print("you balance money is:%s" %salary)#打印余额
print("--------------------------------")
else:
print("!!!!you not have so money!!!!") #钱不够,没法购买!
print("you balance money is:%s"%salary) #提示有多少钱!
if len(shopping_car) > 0: #判断是否买了东西,买了就打印,没买就不打印
print(shopping_car)
print("--------------------------------")
#break #没钱买了还扯蛋!!!
else:
print("we not have this good,please choice again!")#输入的数字大于序列号,打印没有这个商品
elif user_choice =="q": #输入“q”退出,打印购买的东西和余额
for item in shopping_car:
print(item)
print("you balance money is:%s" %salary)
print("--------------------------------")
running = False
elif user_choice =="c": # 输入"C" 选择 继续购物
print("you balance money is:%s" %salary)
print("--------------------------------")
else:
print("Incorrect input,please input again!!!") #错误的输入
posted @ 2017-03-30 15:14  细雨蓝枫  阅读(665)  评论(0编辑  收藏  举报