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

字符编码

二进制位 = 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!!!") #错误的输入

Py修行路 python基础(二)变量 字符 列表的更多相关文章

  1. Py修行路 python基础 (二十三)模块与包

    一.模块 1)定义: 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 2)为何要用模块: 退出python解释器然后重新进入,那之前定义的函数或者变量都将丢失,因 ...

  2. Py修行路 python基础 (二十五)线程与进程

    操作系统是用户和硬件沟通的桥梁 操作系统,位于底层硬件与应用软件之间的一层 工作方式:向下管理硬件,向上提供接口 操作系统进行切换操作: 把CPU的使用权切换给不同的进程. 1.出现IO操作 2.固定 ...

  3. Py修行路 python基础 (十二) 协程函数应用 列表生成式 生成器表达式

    一.知识点整理: 1.可迭代的:对象下有_iter_方法的都是可迭代的对象 迭代器:对象._iter_()得到的结果就是迭代器 迭代器的特性: 迭代器._next_() 取下一个值 优点: 1.提供了 ...

  4. Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块

    一.前提介绍: 可以开辟作用域的只有类,函数,和模块            for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...

  5. Py修行路 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)

    一.日志模块 两种配置方式:1.config函数 2.logger #1.config函数 不能输出到屏幕 #2.logger对象 (获取别人的信息,需要两个数据流:文件流和屏幕流需要将数据从两个数据 ...

  6. Py修行路 python基础 (五)三元运算 字符编码 元组 集合 三级菜单优化!

    三元运算 条件判断不能加冒号: a=3 b=5 c=a if a<b else b oct() 转成八进制的简写:16进制 标志:BH为后缀或是0x为前缀hex() 转成16进制 元组 跟列表是 ...

  7. Py修行路 python基础 (二十二)异常处理

    异常处理 一.错误和异常 程序中难免出现错误,而错误分为两种:语言异常和逻辑异常 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) for i in range ...

  8. Py修行路 python基础 (二十四)socket编程

    socket编程 一.客户端/服务端架构 客户端/服务端架构 即C/S架构,包括:1.硬件C/S架构,2.软件C/S架构. 互联网中处处都是C/S架构,学习socket 就是为了完成C/S架构的开发. ...

  9. Py修行路 python基础 (十三)匿名函数 与 内置函数

    一.匿名函数  1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是 ...

随机推荐

  1. ArcGIS API For Silverlight使用在线地图的多种方法总结

    引自:http://www.cnblogs.com/meimao5211/p/3283969.html ArcGIS API For Silverlight使用在线地图的多种方法总结 本人也正在学习A ...

  2. GitLab使用总结[转]

    http://blog.csdn.net/huaishu/article/details/50475175 GitLab使用总结

  3. 简短的perl程序

    简短的perl程序能够实现大功能.    perl是如何做到的呢?  1. 默认变量     如果没有向函数提供参数值,则默认参数为$_:     如果没有变量用于接收一个表达式的值,则默认接收变量为 ...

  4. 转 IOS动态类型isKindOfClass, isMemberOfClass

    对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断对象类型 -(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例 -(BOOL) is ...

  5. 一些开源搜索引擎实现——倒排使用原始文件,列存储Hbase,KV store如levelDB、mongoDB、redis,以及SQL的,如sqlite或者xxSQL

    本文说明:除开ES,Solr,sphinx系列的其他开源搜索引擎汇总于此.   A search engine based on Node.js and LevelDB A persistent, n ...

  6. ControllerDescriptor的认识

    ControllerDescriptor类主要包含了对ASP.NET MVC中的Control的元数据的解析,在MVC的Model绑定以及数据处理过程中经常会遇到ControllerDescripto ...

  7. linux下vim对于意外退出的文档的再次开启

    转载的: 1.对于同一个文件如果上次已经打开,而未关闭的情况下,又打开该文件进行编辑时,会出现如下提醒: 这是由于已经打开但未闭关的文件,会在其目录下出现一个.swp的文件,由于是属于隐藏文件,可以用 ...

  8. LeetCode OJ:Spiral MatrixII(螺旋矩阵II)

    Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For ...

  9. LeetCode OJ:Maximum Subarray(子数组最大值)

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  10. Java.lang包的接口解读

    Java.lang包中提供了八个接口: 1.Appendable 能够被追加 char 序列和值的对象.如果某个类的实例打算接收来自 Formatter的格式化输出,那么该类必须实现 Appendab ...