考察列表遍历,考察整数转字符串,考虑字符串拼接
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)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-6vsakVY1-1711702238915)]
[外链图片转存中…(img-8IRAnfNr-1711702238916)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
[外链图片转存中…(img-HaMh6zqI-1711702238916)]