列表为复习快速清单,每一个序号代表一天复习的内容。
目录
一、Python 基础复习
基础
分支和循环
字符串
列表、元组、字典
一、Python 基础复习
基础
1.
下载软件,sublime,pycharm。初学时在sublime上夯实基础,脚踏实地写代码;
2.
- 注释,
- 变量,
- 数据类型及相互转换,
- 运算符,
- input,print
分支和循环
3.
- if else, elif,
- while, for,
- break, continue。
练习:猜数字,99乘法表,水仙花数
##实现一个体质计算器
gender = str(input("Please input your gender:"))
waist = float(input("Please input your waist:"))
weight = float(input("Please input your weight:"))
if gender=="Female" or gender=="female":
p1 = waist*0.74
p2 = weight*0.082+34.89
carlo = p1-p2
percent_carlo = (carlo/weight)*100
elif gender=="Male" or gender=="male":
p1 = waist*0.74
p2 = weight*0.082+44.74
carlo = p1-p2
percent_carlo = (carlo/weight)*100
else:
print("Please input the right info again!")
print("your percent_carlo is: ",percent_carlo)
##for loop to realize the 9*9 sheet
row = 1
col = 1
for row in range(1,10):
for col in range(1,row+1):
print("%s×%s=%s"%(col,row,col*row)+" ",end='')
row+=1
col+1
print("")
##找出1000以内的水仙花数
for s in range(1,1001):
a = s//100
b = (s-a*100)//10
c = s-a*100-b*10
if a**3+b**3+c**3 == s:
print(s)
字符串
4.
- 字符串拼接(加号,格式化拼接),
- 字符串格式化(%s, {} format() ),
- 字符串的下标操作( var[-1] ),
- 字符串的切片操作:var[start, end, step] , step为正数从左到右,负数相反,元组操作,
- 字符串的常用方法:var.find(), var.index(), len(var), var.count(), var.replace(), var.split(), var.startswith(), var.endwith(), var.lower(), var.upper(), var.strip(), var.lstrip(), var.rstrip(), var.partition(), var.isalnum(), var.isalpha(), var.isdigit(), var.issapce(), format()
- 常见转义字符:, n, ' ' ', t,
- 原生字符串:(raw), print(r'making progresss neveryday')
- 字符串的编码和解码:unicode是一个万能字符集,但不能传输和加密,所以需要准换成byte类型,编码方式有utf-8、gbk、ASCII。例如使用哈希加密之前必须编码,否则报错。但有时也要看使用的函数规定是否需要编码,有可能该函数底层逻辑已经写入了编码。
- var.encode("utf-8")
- b'hello world', var.decode("utf-8")
练习
# t ="""I am xiaoxiao. I go to school for several years. I want to be a doctor in the future in 2999"""
'''
1. 把上面字符串的所有空格删除,并保存在另外一个新的字符串中
2. 判断以上单词的个数
3. 把包含了t的单词找出来,不区分大小写
4. 把所有数字都找出来
'''
t ="""I am xiaoxiao. I go to school for several years. I want to be a doctor in the future in 2999"""
delete_sapce = t.replace(" ","")
print(delete_sapce)
count_word = len(t)-t.count(" ")
print(count_word)
t1 = t.split(" ")
for word in t1:
if word.find("t")>0 or word.find("T")>0:
print(word)
else:continue
for word in t1:
if word.isdigit()>0 or word.isdigit()>0:
print(word)
else:continue
'''
把一下变量用format函数写一个连接数据库的语句
#用户名
username = 'a'
port = 3333
'''
username = 'a'
port = 3333
a = 'username: {aa}, port: {bb}'.format(aa=username,bb=port)
print(a)
列表、元组、字典
5.
- 定义列表 :var = ["a","b","c",...]
- 列表下标取值: var[0], var[-1]
- 遍历列表:使用for循环或while,但通常选择用for
-
for word in words: print(word) ################ index = 0 while index
-
- 列表的基本使用:
- 储存任何数据类型
- 列表相加,加在后面
- 列表的切片操作,和字符串的操作一样:var[start:end:step]
- append: var.append()
- count: var.count()
- extend: var.extend(),会改变原来变量的值
- index: var.index(),找出某个值第一次出现的位置
- insert: var.insert(index,object),改变原变量的值
- pop: var.pop(),会改变原变量的值,并且返回移除的值
- remove: var.remove(object),会改变原变量的值,不会返回移除的值,只会移除遇到的第一个值
- reverse: var.reverse(),会改变原变量的值
- sort: var.sort(),会改变原变量的值
- sorted: sorted(var),不会改变原变量的值
- del: del var[ ],根据下标删除值,会改变原变量的值
- in: for "A" in LIST
- list: list(var)
- 元组的基本使用:只能读取、遍历是不可变的类型
- 定义元组
- 定义1个元素的元组: var = 1, var = (1,)
- tuple: var = tuple(iterable var),可以遍历的元素,比如list
- 圆括号:var = (1,2,3)
- 使用逗号:var = 1,3,5
- 元组常用操作:
- 下标操作:var[1]
- 切片操作: 和列表一样
- 解组操作:var1,var2,var3 = var,或者 var1,var2,_ = var
- count: var.count()
- index: var.index()
- 为什么会有元组?
- 在字典中当作key来使用,因为是不可变的
- 返回多个值时
- 在一些不希望用户改变值的场景下
- 字典的基本使用:
- 为什么用字典?想要储存一些信息,比如一个人的简历,借助关键词和对应的值形式来储存信息。无序的。若要储存多个人的简历,就用列表将这些字典储存起来。
- 创建字典:
- var = {"var1":"a", "var2":12}
- dict: dict(var1 = "a", var2 = 12)
- 基本操作:
- len: len(var),关键词的个数
- 获取关键词:var["var1"]
- 修改关键词对应的信息:var["var1"] = "aa"
- 添加关键词:如果输入不存在的关键词赋值操作,便为增加
- 删除关键词:del var["var1"]
- 判断关键词是否在字典中:使用遍历
- 字典中的key为任何不可变的类型,如浮点类型,整形,元组
- 字典常用方法:
- clear:var.clear(),这个和赋值空置有些不一样,一个全部清除,一个只清除赋空置的那个
- get:不会抛出异常,和下标操作不一样,var.get()
- pop:var.pop(),会返回移除的值
- popitem: 随机移除字典中的一个值
- update:合并两个字典,var.update()
- setdefault: var.setdefault("var1":"a1"),如果key在字典中存在,则返回字典中的值,若不存在,则直接添加并返回这个新的值,和直接赋新值类型
- 遍历字典:for循环
- var.keys()
- var.values()
- var.items(),返回元组,使用解包分别返回key和value
- 定义元组
练习
'''
给列表做逆序操作:a = [1,2,4,5,6]
'''
a = [1,2,4,5,6]
_reverse = a.reverse()
print(a)
print(aa[-1::-1])
'''
实现学生管理系统:
1.记录学号,姓名,年龄
2.可以新增学生
3.可以列出所有学生
4.根据学号查找学生
5.根据学号删除学生
'''
s1 = {"id":31231,"name":"aa","age":12}
s2 = {"id":4324,"name":"vv","age":14}
sys = [s1,s2]
# print(sys)
s3 = {"id":453,"name":"ww","age":11}
sys.append(s3)
# print(sys)
for s in sys:
print(s["name"])
searchid = 453
for s in sys:
if s["id"]==searchid:
print(s["name"])
delid = 4324
for s in sys:
if s["id"]==delid:
d = sys.index(s)
del sys[d]
print(sys)
TO BE CONTINUED...



