python
Python知识点
for 循环
for i in range(0,5): 输出结果是0,1,2,3,4
for i in range(0,5,3): 输出结果是0,3
for x in 字符串
for x in len()
while循环
i=0
while i<5:
print("这是第几次循环%d"%i)
print("i=%d"%i)
i +=1
练习题目
1.1-100求和
i=0
sum=0
while i<=100:
sum=sum+i
i+=1
print(sum)
while else
count=0
while count<5:
print(count,"小于5")
count+=1
else:
print(count,"大于或等于5")
for 循环
for i in range(0,5): 输出结果是0,1,2,3,4
for i in range(0,5,3): 输出结果是0,3
while循环
i=0
while i<5:
print("这是第几次循环%d"%i)
print("i=%d"%i)
i +=1
练习题目
1.1-100求和
i=0
sum=0
while i<=100:
sum=sum+i
i+=1
print(sum)
while else
count=0
while count<5:
print(count,"小于5")
count+=1
else:
print(count,"大于或等于5")
break continue
n=1
while n <=100:
if n>10:
break
print(n)
n+=1
结果打印1-10
i=0
while i<10:
i+=1
print('-'*30)
if i ==5:
break
print(i)
结果打印1-4
重点 continue是跳过本次循环下的所有语句
break结束整个while循环
练习2
用if 和while语句写九九乘法表
i=0
while i<10:
if i ==1:
print("1*1=%d"%(i**2))
if i ==2:
print("2*1=2 2*2=4")
if i ==3:
print("3*1=3 3*2=6 3*3=9")
if i ==4:
print("4*1=4 4*2=8 4*3=12 4*4=16 ")
if i ==5:
print("5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 ")
if i ==6:
print("6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36")
if i ==7:
print("7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49")
if i ==8:
print("8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64")
if i ==9:
print("9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81")
i+=1
只用for循环
for i in range(0,10):
for j in range(1,(i+1)):
print("{}*{}={}\t".format(i,j,(i*j)),end="")
print()
字符串
- '和‘’要灵活运用
- '''指段落
- 注意转义的使用
my_str = 'I'm a student' - 转义字符
- \
- \n
- \t
- '
- "
- 字符串的截取
my_str='harbin'
print(my_str)
print(my_str[0:6])
- 字符串中含有r字符串中全不予解释直接输出
常见字符串操作
- bytes.decode(ecoding='utf-8',errors='strict')
- encode(ecoding='UTF-8',errors='strict')
- isalpha()
- isdigit()
- .join()
- rstrip()
列表
list=[0,'xiaowang','xiaoli']
访问
print(list[0])
列表可以存放不同类型的数据
- 列表的操作
- 增
list.append() 追加到列表的尾部
list.extent(list2)列表的追加及把一个列表中的元素加到另一个列表
list.insert(1,2)可以控制加入列表的位置 - 删
movieName = ['加勒比海盗','骇客帝国','速度与激情','第一滴血']
del movieName[2]
print(movieName)
list.pop() 弹出末尾最后一个元素
list.remove('第一滴血')可以指定删除的元素 - 改
list[1]='xiaohong' - 查
if wujiuchun in a:
print("在名单中找到了相同的名字")
else:
print("没有找到")
a.index("a",1,4)在一到四的范围找a 可以查找指定下标范围的数据,并返回找到对应数据的下标 - 排序
a=[1,4,2,3]
a.reverse()
print(a)
将列表所有元素翻转过来
a=[1,4,3,2]
a.sort()
print(a)
a.sort(reverse=True)
print(a)
sort可以按照从大到小和从小到大的顺序来
例题
- 增
products=[["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
print("-"*10+"商品列表"+"-"*10)
a=[]
i=0
while i <len(products):
print(i,end="\t")
a.extend(products[i])
print(a[-2],end="\t")
print(a[-1],end="\n")
i+=1
products=[["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
print("-"*10+"商品列表"+"-"*10)
a=[]
i=0
while i <len(products):
print(i,end="\t")
a.extend(products[i])
print(a[-2],end="\t")
print(a[-1],end="\n")
i+=1
print("请问你想买点什么?")
buy=int(input("请输入你想选择的商品编号"))
a.clear()
a.append(products[buy])
print("请问你还想继续吗?")
ask=input("如果想退出请输入q,如果不想退出请继续输入商品编号")
while ask != 'q':
ask=int(ask)
a.append(products[ask])
print("请问你还想继续吗?")
ask = input("如果想退出请输入q,如果不想退出请继续输入商品编号")
else:
print("你想买的商品是",end="\n")
print(a)
元组
()不可删改
只含一个元素的元组需要(1,)
可以像列表一样访问
操作
- 增
tup1=(1,2)
tup2=(2,3)
tup3=tup1+tup2
- 删除
tup1=(1,2)
del tup1
将元组从内存中删除
##列表
list={'name':'吴彦祖',"age":18}
print(list['name'])
print(list["age"])
print(list.get("time"))
用get 方法可以找没有的值没有找到值返回None
###操作
- 增加
list["id"]=newID
print(list['id'])
- 删除
del 删除整个字典 del list
clear list.clear() 清空列表
- 修改
list["age"]=20
print(list.keys()) 字典的键
print(list.values()) 字典的值
print(list.items()) 字典的所有元素
###特殊用法
mylist = ['a','b','c','d']
for i,x in enumerate(mylist):
print(i,x)
枚举类型
info={"id":"wujiuchun","age":18}
for key,value in info.items():
print("key=%s,value=%s"%(key,value))
##集合
不重复无序
s=set([1,2,3])
print(s)
##函数
返回多个值的函数
def divid(a,b):
shang=a//b
yushu=a%b
return shang,yushu
sh,yu=divid(5,2)
print("商%d,余数%d"%(sh,yu))
###练习题
def heng():
print("-"*30)
heng()
def count():
a=int(input("请输入你想输入的参数,打印出自定义行数的横线"))
while a>0:
heng()
a-=1
count()
def sum(a,b,c):
return a+b+c
print(sum(1,2,3))
def average(a,b,c):
return (sum(a,b,c)//3)
print(average(1,2,3))
![](https://img2020.cnblogs.com/blog/2555425/202201/2555425-20220113100335960-1706065118.png)
###全局变量和局部变量
def test1():
a =300
print("test1----修改前:a= %d"%a)
a=100
print("test1----修改后:a= %d"%a)
test1()
在函数里都是局部变量
a=100 #全局变量
def test1():
a = 300 #局部变量优先使用
print("test1-----修改前:a= %d"%a)
a= 200
print("test1----修改后:a= %d"%a)
def test2():
print(a)
global 可以提升全局变量
##文件读写
f=open("test.txt","w") #打开文件w模式(只用于写入)如果存在则覆盖,不存在,创建新文件
f.close()
f.write("sjdjaj") 将字符串写入
read方法 读取指定字符,开始时定位在文件头部,每执行一次向后移动指定字符数、
f=open('test.txt','r')
content=f.readlines()
print(content)
f.close()
readline 将一个文档中的内容全部读出来
##异常处理
import time
try:
f=open("123.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("发生异常")
coding=utf-8
f=open("gushi.txt",'w')
f.write('''
白日依山尽
黄河入海流
欲穷千里目
更上一层楼
''')
f.close()
def read():
f=open("gushi.txt", 'r')
a=f.readlines()
f.close()
return a
f=open('copy.txt','w')
f.write(a)
read()