目录
练习题归纳整理:
一些tips:
- 创建py文件自带注释信息
设置pycharm中的python script使创建文件时自己带上这些注释信息
#-*- coding = utf-8 -*-
#@Time : ${DATE} ${TIME}
#@Author : xs
#@File : ${NAME}.py
#@Software : ${PRODUCT_NAME}
- input输入会按照str字符串保存
- 非0数和True都可以表示当前为真
- 随机数random.randint(a,b)用于生成一个指定范围内的整数。 生成的随机数n: a <= n <= b
输出
- print(“aa”,“bb”,sep=".") # 分割符
- print(“aa”,“bb”,end="") #表示不换行
循环语句
for循环
- for … in,可以依次把list或tuple中的元素迭代出来
根据判断条件循环输入:
example 1:
print("请输入剪刀(0)、石头(1)、布(2):")
while True:
a = int(input())
if a==0 or a==1 or a==2:
break
else:
print("你的输入不符合规范!请重新输入:")
continue
example 2.1:
a = int(input("请输入剪刀(0)、石头(1)、布(2):"))
while a!=0 and a!=1 and a!=2:
a=int(input("你的输入不符合规范!请重新输入:"))
example 2.2:
这样如果用户输入字符串也可以判断了,程序不会出错中断,而是提醒重新输入!
a = input("请输入剪刀(0)、石头(1)、布(2):")
while a!=str(0) and a!=str(1) and a!=str(2):
a=input("你的输入不符合规范!请重新输入:")
while循环
i=0
while i<5:
print("当前是第%d次执行循环"%(i+1))
i += 1
while 也可以和else一起使用:多用于测试循环是否跳出
count = 0
while count<5:
print(count, "小于5")
count += 1
else:
print(count,"大于或等于5")
break、continue、pass
- pass:没有功能的,纯占位
- continue:跳过本次循环continue之后的所有语句,即结束本次循环,但是不结束整个循环
- break:直接结束整个循环
字符串
可以将字符串当作列表处理
a=“chengdu”
a[0:6]=chengd
列表
增删查改
追加
append()和extend()的区别:
append()会将整个列表当作一个元素添加进去,extend()会将新列表的元素逐一添加至旧列表。
insert():指定下标位置插入元素
删除
- del a[2] # 在指定下标删除元素
- a.pop() #弹出末尾最后一个元素
- a.remove(“指环王”) #直接删除找到的第一个符合指定内容的元素
改
a[1]=“小红” # 修改指定下标的内容
查
in ; not in
index(“a”,1,4) # 查找指定下标范围的元素,并返回找到对应数据的下标 (左闭右开的区间)找不到会报错
元组
与list相似,不同在于tuple的元素不能修改,可包含可变对象,如list
注意:定义一个只有一个元素的tuple,必须加逗号。不然就定义的是单独元素,不是元组
增删查
增
直接使用+,将两个元组连接起来,成为一个新的元组
删(del)
del tup1:直接删除了整个元组变量,而不是清空里面的元素
查
tup1[-1]:倒数第一个元素 ,左闭右开
字典
键值对
键:必须使用不可变类型,是唯一的
a ={“name”:“大苏打”,“age”:18}
按键的名称: a[“name”] or a.get(“name”) 前一种输入没有的键会报错,后一种会返回None
a.get(“gender”,“m”) 没有找到的可以设定默认值,会返回m;找到了会返回正确的值
增删改查
增
a[“id”]=“da”
删
del a[“name”]:删除整个键值对
a.clear():清空字典
改
a[“age”]=20
查
a.keys() # 得到所有键
a.values() # 得到所有的值
a.items() # 得到所有的键值对,每个键值对是一个元组
遍历所有的值: for key in a.keys:
遍历每个键值对:for key,value in a.items():
枚举
使用枚举类型同时拿到列表中的下标和元素内容
mylist = ["a","b","c","d"]
for i,x in enumerate(mylist):
print(i+1,x)
集合set
一组键key的集合,不存储value。不能重复key。所以集合里面没有重复的元素。
小结
函数
def name(): # 可返回一个和多个值 return
全局变量和局部变量同名时,函数内部的局部变量优先使用
在函数中修改全局变量:global a
文件操作
访问模式
打开&关闭&读写
f = open('test.txt','w') # w模式(写模式)不存在会帮你在项目目录下新建一个文件
f.write("hello world") # 将字符串写入文件中
content =f.read(5)
content =f.read(5) # 再往后读5个字符
f.close()
# read模式,开始时写在文件头部,每执行一次,往后移动指定字符
f = open('test.txt','r')
content =f.read(5)
print(content)
content =f.read(5) # 再往后读5个字符
print(content)
f.readlines() # 按行读整个文档,每一行是列表中的一个元素
f.readline() # 读一行
相关操作
import os
os.rename(“1.txt”,“2.txt”) # 重命名
os.remove(“1.txt”) #删除文件
异常处理
try: # 捕获异常
pass
except (IOError,NameError)as result: # 异常类型被需要一致(多异常用括号)
print(result) # 捕获异常后执行的代码 打印错误信息
# 捕获所有异常 Exception
try:
pass
except Exception as result:
print(result)
try:
f = open()
except Exception as result:
print("发生异常")
finally: # 一定会被执行的代码
f.close()
# 嵌套
try:
f = open("test1.txt","r")
try:
while True:
content = f.readline()
if len(content) == 0:
break
time.sleep(2)
print(content)
finally:
f.close()
print("文件关闭")
except Exception as result:
print("发生异常")