【百度AI Studio】Python小白逆袭大神-Day1
程序员文章站
2022-03-04 14:16:51
...
主要内容:
- 连续输出和换行输出问题、输出对齐问题:print()中的end参数值
- 文件(子)目录读取、路径输出问题:os.path()、os.listdir()、os.chdir()函数的简单介绍
作业一:输出9*9乘法口诀表(注意格式如下)
示例输出:
【代码】:
def table():
#在这里写下您的乘法口诀表代码吧!
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',j*i,end="\t")
print("")
if __name__ == '__main__':
table()
【输出结果】:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
要点1: print()函数end参数调整
python中print()
函数默认以换行符\n
结尾,因此两个print()
函数默认会打印两行,可以通过调整参数end来改变结尾符号。如print(end='')
,则会连续打印;print(end=' ')
,则会用空格连接两次打印输出;print(end='\t')
,则会以制表符连接两次打印输出。
在本例中,因为每部分长度不尽相同,因此用制表符确保每部分的第一个字符都能对齐。相当于Tab
键的作用。
作业二:查找特定名称文件
遍历”Day1-homework”目录下文件;找到文件名包含“2020”的文件;将文件名保存到数组result中;按照序号、文件名(有路径)分行打印输出,形式如下:
注:Day1-homework目录下有4个文件夹,每个文件夹下既有子文件夹也有文件。
【代码】:
#导入OS模块
import os
#待搜索的目录路径
path = "Day1-homework"
#待搜索的名称
filename = "2020"
#定义保存结果的数组
result = []
def findfiles():
#在这里写下您的查找文件代码吧!
for dirpath, dirs, files in os.walk(path):
for name in files:
if filename in name:
result.append(os.path.join(dirpath,name))
for i in result:
print([result.index(i),i])
if __name__ == '__main__':
findfiles()
【输出结果】:
[0, 'Day1-homework/26/26/new2020.txt']
[1, 'Day1-homework/4/22/04:22:2020.txt']
[2, 'Day1-homework/18/182020.doc']
要点2:用os.walk(path)
遍历(子)文件(夹):
for dirpath, dirs, files in os.walk(path):
遍历的每个对象包含三部分元素:dirpath
是文件(夹)所在的路径dirs
是这一路径下所有文件夹组成的列表files
是这一路径下的所有文件组成的列表
要点3:用os.path.join(path, name)连接路径和文件名
要点4:字符串匹配可以直接用in来判断:
如 if pattern in string:
当然,也可以用re.search(pattern, string)或re.match(pattern, string)等正则表达式函数来实现,但显然不如直接用in简单。
上一篇: Python学习笔记