Python小白逆袭大神 作业1
作业一:输出 9*9 乘法口诀表(注意格式)
思路:就是两层循环,第一层是i=1到9的循环,第二层是j=1到i的循环。输出i*j.代码如下:
def table():
#在这里写下您的乘法口诀表代码吧!
for i in range(1,10): #大循环9次
str_row = ""#每一行的字符串 9行
for j in range(1,i+1):
str_row += "{0}*{1}={2}".format(j,i,i*j)+" "
print(str_row)
if __name__ == '__main__':
table()
运行结果:
作业二:查找特定名称文件
遍历”Day1-homework”目录下文件;
找到文件名包含“2020”的文件;
将文件名保存到数组result中;
按照序号、文件名分行打印输出。
思路:这里用到os.walk,要是文件都在指定的文件下面,就是没有子文件夹,可以用os.listdir函数,os.walk的用法:
import os
path = r'文件路径内容'
for dirpath,dirnames,filenames in os.walk(path):
print(dirpath,dirnames,filenames)
这里dirpath是文件filenames的路径,filenames是在dirpath路径下的所有非文件夹的文件,所以要遍历所有的文件,还要一层循环:
for dirpath,dirnames,filenames in os.walk(path):
print(dirpath,dirnames,filenames)
for filename in filenames:
#判断filename中是否有关键词
代码如下:
#导入OS模块
import os
#待搜索的目录路径
path = "Day1-homework"
#待搜索的名称
filename = "2020"
#定义保存结果的数组
result = []
def findfiles():
#在这里写下您的查找文件代码吧!
i = 1#要求文件的序号
for dirpath,dirnames,sub_filenames in os.walk(path):
#对文件有”2020“进行删选
for sub_filename in sub_filenames:
str_sub_filename = str(sub_filename)
if(str_sub_filename.find(filename,0,len(str_sub_filename))!=-1):
result.append(sub_filename)#将指定文件加入result
print('序号:{} '.format(i)+dirpath+sub_filename)
i = i+1#序号加一
if __name__ == '__main__':
findfiles()
运行结果: