收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
正文
星号先递增值5个,然后再递减至5个
可以考虑使用一个标志来控制星号的增加加和减少
字符串可以使用乘法 ‘*’*5 表示 星号重复5次
#初始要打印的星号个数
num = 1
设置一个标志,如果true 表示要星号增加
flag = True
星号小于0的时候退出循环
while num>0:
打印星星
print(“*”*num)
如果星号已经到5,更改flag,下次循环要开始减少星星
if num==5:
flag = False
如果flag 为true 说明星号是递增,
if flag:
num+=1
flag为false 说明星号开始递减
else:
num-=1
9.答案解析:
考察for range的用法
pstr = “abcdef”
for s in pstr:
print(s)
10.答案解析:
a = “abcd”
方法一 使用while逆向遍历
获取字符串最大的下标
index = len(a)-1
while lg>0:
print(a[index])
下标递减
index-=1
方法二使用切片
a = [::-1]
print(a)
11.答案解析:
考察列表遍历,考察整数转字符串,考虑字符串拼接
l = [1,2,3,4]
定义空字符串用于拼接字符串
result = “”
遍历列表元素
for num in l:
把整数转成字符串然后拼接到result
result+=str(num)
打印结果
print(result)
12.答案解析:
考察列表遍历,以及列表元组值修改
遍历可以使用for range 或者while,但是涉及到修改需要使用下标,所以采用while 加下标的方式
l = [1,2,3,4,5,6]
定义下标, 初始为0
index = 0
循环遍历列表元素,直至到最后一个值
while index<len(l):
判断如果是偶数,对这个元素加1
if l[index]%2==0:
l[index]+=1
下标向后移动
index+=1
13.答案解析:
考察元组遍历,列表元素添加,列表元素判断,元组元素统计
test = (“a”,“b”,“c”,“a”,“c”)
定义列表用于存储统计结果
result = []
for s in test:
统计元素个数
cnt = test.count(s)
把统计结果拼接成(‘a’,1)这样的格式
tmp = (s,cnt)
判断这个元素是否已统计过,如果已经在结果中说明这个元素就统计过了 继续下一个元素
if tmp in result:
continue
else:
result.append(tmp)
打印统计结果
print(result)
14.答案解析:
考察input方法,考察enumerate方法,以及字符串格式化, 考察while循环
定义一个列表用于存储所有的用户信息
users = []
定义循环因子
i = 0
while i<3:
name = input("请输入姓名: ")
age 整数记得要转化
age = int(input(“请输入年龄”))
把用户信息构造成字典,添加到列表中
users.append({“name”:name,‘age’:age})
遍历打印用户信息,因为要打印编号,可以考虑使用enumerate
注意: enumerate 方法返回的是元素,我们需要用2个变量接收,一个是编号,一个是元素
for thnum,user in enumerate(users,start=1):
使用f-string快速格式化
print(f"{thnum} {user[‘name’]} {user[‘age’]}")
如果还没学习enumerate,可以使用一个变量来表示序号
定义序号起始为1
thnum = 1
for user in users:
print(f"{thnum} {user[‘name’]} {user[‘age’]}")
记得把序号加1
thnum+=1
15.答案解析:
1. 要想提取数字字符,我们需要遍历字符串
2. 需要知道如何判断一个字符是否是数字,数字是有0123456789 中的字符构成,如果字符在这里面是不是就表示这个是数字呢
3. 把是数字的字符拼接到一起
test = “aAsmr3idd4bgs7Dlsf9eAF”
定义一个变量接收数字字符
result = “”
for s in test:
如果s在后面的字符串中说明这个字符是数字字符
if s in “0123456789”:
把数字字符添拼接到结果中
result+=s
打印结果
print(result)
16.答案解析:
1. 因为要处理每个字符,所以需要遍历字符
2. 如果判断一个字符是不是英文字母,我们字符串本身就有方法可以判断 isalpha 方法
3. 把英文单词拼接到一起就是我们要的
msg = “hel@#KaTeX parse error: Undefined control sequence: \nhon at position 8: lo pyt \̲n̲h̲o̲n̲ ̲ni\t hao%”
保存结果
result = “”
循环遍历字符
for s in msg:
判断当前字符是否是字母
if s.isalpha():
把字符添加到结果中
result+=s
打印最后的结果
print(result)
17.答案解析:
#1. 因为要查找位置,所以要遍历字符串
#2. 因为要查找多个字符,所以需要使用切边提取固定的字符
#3. 把查找到的位置保存到结果列表中
#4. 题目要求是个元组所以再转化成元组
src: 原始字符串,dst: 要查找的字符串
def findall(src,dst):
获取字符长度,用去截取字符
lg = len(dst)
保存查找的下标
res = []
#遍历字符通过下标
for index in range(lg):
截取与dst相同的字符如果相等说明 位置ok
if src[index:index+lg]==dst:
把当前位置添加到结果集中
res.append(index)
把结果转化成元组返回
return tuple(res)
s = “helloworldhellopythonhelloc++hellojava”
print(findall(s))
18.答案解析:
def sum_test(n):
保存结果
sum = 0
循环因子
i = 1
#循环累加
while i<=n:
累加结果
sum+=i
增加循环因子
i+=1
print(sum)
num = 10
sun_test(num)
19.答案解析:
考察不定长参数定义,与传递,以及遍历求大小值
def max_min(*args):
定义最大、最小值,把元素的第一个值作为最大值与最小值,然后与后面的其他值比较
max = args[0]
min = args[0]
for num in args:
如果max 小于num 那么max更新为num
if max<num:
max = num
如果min 大于num说明num小,则更新min
if min>num:
min = num
return max,min
max,min = max_min(5,2,7,1,7,8,9,10)
print(f’max = {max},min = {min}')
20.答案解析:
src 源文件路径,dst目标文件路
def copy(src,dst):
打开src文件
读的方式打开src
fr = open(src,‘r’)
写的方式打开dst
fw = open(dst,‘w’)
把src的内容写入到dst中
fw.write(fr.read())
关闭文件
fr.close()
fw.close()
print(‘文件拷贝完成’)
copy(“1.txt”,‘2.txt’)
21.答案解析:
文件分为2类一个是文件一个是目录
处理的时候需要判断是文件还会目录
import os
#file_dir 要重命名那个文件夹下面的文件
def rename(file_dir):
获取当前文件下面的所有文件【包含目录和文件】
files = os.listdir(file_dir)
遍历获取所有文件与目录
for file in files:
拼接获取完整的文件路径
filename = os.path.join(file_dir,file)
判断如果是文件则重命名
if os.path.isfile(filename):
获取完成的新的文件路径名字
new_name = os.path.join(file_dir,“new_”+file)
os.rename(filename,new_name)
else: # 如果不是文件说明是个目录
#如果是目录则递归调用继续 对子目录中的文件进行重命名
rename(filename)
测试
rename(‘D:\test’)
22.答案解析:
1.我们要区分是水果,需要有一个水果类型
2. 颜色和价格是对象属性
3. 魔法方法__str__ 便于格式化打印对象
class Fruit():
def init(self, fruit_type):
创建的时候指定创建什么类型的水果
self.type = fruit_type
self.color = None
self.price = None
设置颜色
def Set_color(self,color):
self.color = color
设置价格
def Set_price(self,price):
self.price = price
def str(self):
if self.color is None or self.price is None:
return “水果价格和颜色没有设置!”
else:
return f’{self.type}: color–{self.color} price–{self.price}元 ’
创建苹果
apple = Fruit(“苹果”)
apple.Set_color(‘red’)
apple.Set_price(5)
print(apple)
… 其他自己创建
23.答案解析:
1. 电脑类,为了区别种类我们需要有一个 电脑类型type
2. 电脑能播放电影,有play方法,电影因为不属于电脑的,所以我们可以把电影当成参数传递
class Computer():
def init(self,ctype):
初始化电脑的类型,例如联想
self.type = ctype
播放电影的行为
def play(self,film):
print(f"{self.type} 播放了 {film}!")
levoe = Computer(“联想”)
levoe.play(“猫和老鼠”)
其他电脑自己创建
24.答案解析:
class Person():
def init(self, name,age):
创建的时候指定创建什么类型的水果
self.name = name
私有属性
self.__age = age
获取年龄,因为年龄是私有属性所以要提供对象的方法获取
def Get_age(self):
return self.__age
设置年龄,因为年龄是私有属性所以要提供对象的方法进行修改
def Set_age(self,age):
self.__age = age
重新__str__ 便于打印格式化
def str(self):
return f’name: {self.name}, age:{self.__age}’
测试代码
laowang = Person(‘laowang’,50)
print(laowang)
laowang.Set_age(60)
print(laowang.Get_age())
print(laowang)
25.答案解析
无参数,返回用户校验后的面
def input_password():
password = input("请输入密码: ")
if len(password)<8:
如果密码长度小于8位 抛出异常
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-WGbJHubK-1713796731023)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!