欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【百度AI Studio】Python小白逆袭大神-Day1

程序员文章站 2022-03-04 14:16:51
...

主要内容:

  • 连续输出和换行输出问题、输出对齐问题:print()中的end参数值
  • 文件(子)目录读取、路径输出问题:os.path()、os.listdir()、os.chdir()函数的简单介绍

作业一:输出9*9乘法口诀表(注意格式如下)

示例输出:【百度AI Studio】Python小白逆袭大神-Day1

【代码】:

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中;按照序号、文件名(有路径)分行打印输出,形式如下:
【百度AI Studio】Python小白逆袭大神-Day1
注: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简单。