目录
2.str.find()字符查找 ,找到返回索引,没找到返回-1
4.str.strip() #删除任何前导(开头的空格)和尾随(结尾的空格)字符。
5.str.isdigit() #所有字符都是数字sname="he54ll999"
6.str.count() #统计字符串里某个字符或子字符串出现的次数
思维导图
一天就学这么多,不过还好我大学学过 python 了,(但是一年没用过了)
就当记忆修复了。
![](https://i-blog.csdnimg.cn/direct/307570c61980475d8bbc46b227448217.png)
数据类型
数字型:bool int float
非数字型:str list tuple set dict
日期型:time datetime
变量
n=8
s="hello"
m='world'
print(n)
print(m,s)多个参数以空格隔开
通过 type(变量名字)查看类型
输入
使用 input 函数来接收用户从键盘输入,input 输入的内容是字符串型
passwd=input("请输入密码:")
print(type(passwd))
我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。
输出
print()函数用来将信息输出到控制台
print("ab")
print("cd",end="")
可以指定以什么结尾显示
print("cd",end="*")
print("ef")
运算符
算数:+ - * / %(取余) **(幂) //(取商)
比较:== != > >= < <=
赋值:= += -= 等
逻辑:and or not
bool 类型
jg=3>2
xb=False
print(jg)
print(xb)
常量变量拼接
#小明学号为 00001,年龄为 18 岁,身高为 1.79 米
sno=1
age=18
sname="小明"
high=1.786
print("姓名是:"+str(sno))
print(sno+age+high)
print(f"{sname}学号为{sno},年龄为{age}岁,身高为{high}米")
print(f"{sname}学号为{sno:05d},年龄为{age}岁,身高为{high:.2f}米")
流程控制
选择结构 if
sex="女"
if sex=="男":
print("打游戏")
elif sex=="女":
print("去逛街")
else:
print("其他")
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,缩进采用 Tab 键或者 4 个空格,相同缩进组成一个
语句块。
3、在 Python 中没有 case 语句。
循环结构 while 及 for 循环
# 循环输出 1-10 数字
i= 1
while i<=10:
print(i)
i+=1
# 字符串可以直接循环输出里面的字符
names="hello world*你好"
for i in names:
print(i)
# 数值范围
for i in range(10):
print(i)
你也可以使用 range 指定区间的值:range(5,9),左闭右开
也可以使 range 以指定数字开始并指定不同的增量(有时这也叫做'步长
'):range(0, 10, 3)
字符串(String)
字符串的索引截取
变量名[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
使用三引号(''' 或 """)可以指定一个多行字符串,*代表复制。
![](https://i-blog.csdnimg.cn/direct/cc28f6b441204ba1b5cecaa134e6f8d6.png)
#
索引切片
s="abcsdfsdf"
print(s[2])
print(s[0:4]) #
做切片的时候,是左闭右开的,也就是不包括右边数字对应的下标
索引
print(s[2:])
print(s[0:6:2]) #
步长为
2
print(s*3)
#
保留格式输出
s ="""string
is good"""
print(s)
1.len() #获取字符串长度
str="today"
l=len(str)
2.str.find()字符查找 ,找到返回索引,没找到返回-1
name = "LionelLionel"
name.find("i")
name.find("i",3)
name.find("i",1,2) #
代表开始索引和结束索引
3.str.rfind() #代表从右侧开始查找
4.str.strip() #删除任何前导(开头的空格)和尾随(结尾的空格)字符。
#
左右空白
name = " liubei "
print(name.strip())
name = "***liubei,,, ***"
print(name.strip("* ,"))
5.str.isdigit() #所有字符都是数字sname="he54ll999"
for i in sname:
if i.isdigit():
print(i)
6.str.count() #统计字符串里某个字符或子字符串出现的次数
print(sname.count("l")) #
简单写法
#
原始写法,统计出现子字符串的次数
n=0
sname="hellotesthellottsdfrllsdlsl"
for i in sname:
if i=="l":
n+=1
print(n)
7.str.replace() #字符替换
txt = "Google#Run,oob#Taobao#Facebook"
print(txt.replace("o","ff"))
print(txt.replace("o","ff",2))
上机练习 1
# 1.定一个浮点型,将其转成 int 类型,观察取整后截断情况
# f=7.9
# print(int(f))
# 2.定义一个整型,将其转成 float,再计算其平方
# i=9
# print(float(i)**2)
# 3.输入两个变量 n1 和 n2,转换为 int,计算两个数的取余和取商
# n1=input()
# n2=input()
# print(int(n1)%int(n2),int(n1)//int(n2))
# 4.使用 input 接收你的名字和班级,输出“我是 XX,在大数据培训中心 xx班学习”
# name=input("输入你的名字:")
# c=input("输入班级:")
# print(f"我是{name},在大数据培训中心{c}班学习")
# 5.不换行输出两个字符串(print 方法的 end 参数) 我喜欢 编程
# ILike="我喜欢"
# programming="编程"
# print(ILike,end=””)
# print(programming)
# 6.输入一个数字,判断是奇数还是偶数
# number=input("输入一个数字:")
# if int(number)%2==0:
#print("偶数")# elif int(number)%2==1:
#print("奇数")
# 7.输出 8 到 88 的偶数
# for i in range(8,89,1):
#if i%2==0:
#print(i)
# 8.已知字符串,s
= "哈佛在等我呢"
# 获取第 4 至第 5 个字符
# s = "哈佛在等我呢"
# print(s[3],s[4])
# # 获取左起第 3 个起所有的字符
# print(s[2:])
# # 字符串做*运算,拷贝字符串 5 次
# print(s*5)
# 9.有一个字符串 s="我爱你,你爱我,蜜雪冰城甜蜜蜜",处理后输出为:
# 我 love 你,你 love 我,蜜雪冰城甜蜜蜜
# s="我爱你,你爱我,蜜雪冰城甜蜜蜜"
# print(s.replace("爱","love"))
# 10.去掉字符串左右两边多个字符,只保留”banana“
# txt = "',,,,,rrttgg.....banana....rrrooopp'"
# txt = "',,,,,rrttgg.....banana....rrrooopp'"
# print(txt.strip("',rtgrop."))
# 11.从键盘接收一个字符串,查找它在 s="aforsadvj happy so thank"
中是否存在,如果存
# 在就打印"找到你了",并且显示出现的次数,不存在就打印"怎么没有你"
# s="aforsadvj happy so thank"
# finds=input("输入需要查找的字符串:")
# if s.count(finds):
#
print("找到你了")
#print("出现次数:"+str(s.count(finds)))
# else :
#print("怎么没有你?")
# 12.从键盘接收一个字符串,取出字符串中的数字,并且统计字符串的总长度
及所有数字
# 出现的个数
# str0=input("接收一个字符串:")
# count0=0
# count1=0
# count2=0
# count3=0
# count4=0
# count5=0
# count6=0
# count8=0# count9=0
# count7=0
# for i in str0:
#if i.isdigit():
#if int(i)==0:
#count0=str0.count(i)
#elif int(i)==1:
#count1=str0.count(i)
#elif int(i)==2:
#count2=str0.count(i)
#elif int(i)==3:
#count3=str0.count(i)
#elif int(i)==4:
#count4=str0.count(i)
#elif int(i)==5:
#count5=str0.count(i)
#elif int(i)==6:
#count6=str0.count(i)
#elif int(i)==7:
#count7=str0.count(i)
#elif int(i)==8:
#count8=str0.count(i)
#elif int(i)==9:
#count9=str0.count(i)
# print("字符串总长度:"+str(len(str0))+f"""\n 数字出现的个数:
#0:{count0}
#1:{count1}
#2:{count2}
#3:{count3}
#4:{count4}
#5:{count5}
#6:{count6}
#7:{count7}
#8:{count8}
#9:{count9}""")
# 13.根据完整路径从路径中取出文件路径,文件扩展名 py
# str2 = "D:\软件\python\python39\Tools\scripts\mitype.py"
# 输出结果为:
# D:\软件\python\python39\Tools\scripts
# py
# filename=input("输入文件完整路径:")
# if filename[filename.rfind("\\"):].count(".")==0:
#print("这不是文件!")
# else :
#print(filename[0:filename.rfind("\\")])
#print(filename[filename.rfind(".")+1:])
list(列表)
List(列表) 是 Python 中使用最频繁的数据类型。
专门用于存储一串数据,存储的数据称为元素
列表用 [] 定义,元素之间用逗号分隔
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它
支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表和字符串一样,索引从 0 开始,列表同样可以被索引和截取,列表被截取后
返回一个包含所需元素的新列表。
List 可以使用+操作符进行拼接。
用星号 * 是重复操作
创建空列表:[]
my_list = [" lily ","bruce","
张三
","
李四
",12.23,34,56,["ttt","sdfsdf"]]
l1 = ["ddd","dsf","df"]
print(my_list+l1)
print(l1*3)
print(my_list)
print(my_list[-4])
s = my_list[0]
print(s)
print(type(s))
print(my_list[0][-1])
print(my_list[0].strip())
name = ["
人物
1", "
人物
2", "
人物
3", "
人物
4", "
人物
5", "
人物
6", "
人物
7", "
人物
8", "
人物
9", "
人物
10"]
print(name[3:7])
name[4]="
勇猛的
"
print(name)
列表的常用操作
li=[1,2,3,4,5]
li.append(6)
li.extend([6,7])
li.insert(0,1)
li.remove(1)
li.pop(1)
del li[1:4]
li.clear()
print(len(li))
print(max(li))
print(min(li))
print(sum(li))
print(sum(li)/len(li))
list1.sort()
list1.reverse()
for i in li:
print(i)
#
索引和元素同时显示
for i in range(len(li)):
print(i,li[i])
字符串与列表转换
split
分割字符串为列表
join
拼接列表为字符串
txt = "Google#Run,oob#Taobao#Facebook"
stxt=txt.split("#") #
列表类型
print(stxt[2]) #
同字符串一样切片
for i in stxt:
print(i) #
单词打印而不是字符打印
n=".".join(stxt) #
字符串类型
print(n)
上机练习 2
# 1.请将列表 l1=["hello","world","test"]中的每个元素通过 "_" 链
接起来。
# 输出结果:hello_world_test
# l1=["hello","world","test"]
# print("_".join(l1))
# 2.有如下两个列表
# list1 = ["M", "na", "i", "Ke"]
# list2 = ["y", "me", "s", "lly"]
# 处理后保存到新列表中,输出结果:['My', 'name', 'is', 'Kelly']
# list1 = ["M", "na", "i", "Ke"]
# list2 = ["y", "me", "s", "lly"]
# list3=[]
# for i in range(0,len(list1)):
#
list3.append(list1[i]+list2[i])
# print(list3)
# 3.生成 100 个卡号,存储到列表中打印输出;卡号以 6102009 开头, 后面 3
位依次是
# (001,002,003,...,100)
# list=[]
# for i in range(1,101):
#
list.append(f"6102009{i:03d}")
# print(list)
# 4.已知字符串 str1="hello
c sharp",将其中的单词以反序输出
# 输出结果:sharp c hello。
# str1="hello c sharp"
# list1=str1.split(" ")
# list1.reverse()# for i in list1:
#
print(i,end=" ")
# 5.给定一个列表,将每一位数字变成它的平方 alist = [1, 2, 3, 4, 5,
6, 7]
# 输出结果:[1, 4, 9, 16, 25, 36, 49]
# alist = [1, 2, 3, 4, 5, 6, 7]
# for i in range(0,len(alist)):
#
alist[i]=alist[i]*alist[i]
# print(alist)
# 6.重新使用 split 和 join 的方法做 1.13 题(上机练习 1,13 题)
# str2 = "D:\软件\python\python39\Tools\scripts\mitype.py"
# list2=str2.split("\\")
# print("\\".join(list2[0:-1]))
# str3="".join(list2[-1])
# list3=str3.split(".")
# print(list3[1])
# 7.把下面的列表里面的数字提取出来生成一个新的列表
# list1 = [13,2,55,[11,32,"eee"],["ssd",55,"ggg"]]
# 用 type 去判断元素如果是 int 就塞进新列表 if type(i) == int
# 如果类型是 list 则继续循环
# NewList=[]
# list1 = [13,2,55,[11,32,"eee"],["ssd",55,"ggg"]]
# for i in list1:
#
if type(i)==int:
#
NewList.append(i)
#
elif type(i)==list:
#
for j in i:
#
if type(j)==int:
#
NewList.append(j)
# print(NewList)