百度飞桨学习——七日打卡作业(一)

举报
陈沧夜 发表于 2022/05/01 00:51:46 2022/05/01
【摘要】 百度飞桨学习——七日打卡作业(一) 作业一:输出 9*9 乘法口诀表(注意格式) 作业一主要考察的是循环遍历和print换行符的改动.这些问题我们来一一解决 range是左闭右开的函数,所以循环ra...

百度飞桨学习——七日打卡作业(一)

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

作业一主要考察的是循环遍历和print换行符的改动.这些问题我们来一一解决

range是左闭右开的函数,所以循环range(1,10)就可以啦,通过观察我们发现:

乘法表第1行1个

…第2行2个

…第3行3个

…第n行n个

所以第一层循环i是1到9,对应for i in range(1,10):

第二层循环的数字j不能超过i,既然这样的话,我们可以写成for j in range(1,i+1):

接下来就是打印表达式了

我们需要打印的格式是:1 * 1 = 1这样的格式,同时我们发现,print后面还不能换行

前一个问题我们可以使用format格式化字符串,后一种问题我们需要在print后面加上end参数

print("{} * {} = {}".format(j,i,i*j),end=" \t ")中,format后面的ji以及i*j是和前面的三个花括号一一对应的,这样可以让输出按你设计的格式进行输出

print后面加end的目的是用制表符\t去代替print后面默认的换行符

写到这里,这个乘法表基本就实现了

最后我们需要控制一下换行.最后一行是不需要换行的.所以我们后面可以加入代码去识别当前是不是最后一行,如果是那么不输出换行,如果不是,那就输出换行即可.

if __name__ == __main__:

是用来识别现在的python代码是否是以单个程序运行,如果是以单个程序运行,那么就运行后面的table()

以下是完整代码:

def table():
    #在这里写下您的乘法口诀表代码吧!
    
    for i in range(1,10):
        for j in range(1,i+1):
            print("{} * {} = {}".format(j,i,i*j),end=" \t ")
            #format是经典的格式化字符串方法       之所以加end=" \t ",是不让print之后直接换行
        if j != 9:
            #乘法表的最后一行不输出换行符
            print("\n")

if __name__ == '__main__':
   #作为脚本使用时会运行接下来的table()
    table()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

作业二:查找特定名称文件

os是python两大核心系统模块之一,另一个是sys

这里我们需要使用os.walk遍历文件夹目录,os.path.join合并路径

在这里我们把目录分为root,dirs,files三个层次for root, dirs, files in os.walk(path):

在files层次中寻找需要的文件for file in files:

如果找到了,我们把这个路径加入到result中,使用的是listappend方法result.append(os.path.join(root,file))

然后把路径输出到屏幕上就可以啦(又没说必须要从数组里输出)

因为这里面有序号,所以我们可以使用字符串拼接完成结果的输出

print("[ {}, \'".format(i),end=" ")
i+=1
print( str(os.path.join(root,file)) +"\']")

  
 
  • 1
  • 2
  • 3

以下是完整代码:

#导入OS模块
import os
#待搜索的目录路径
path = "Day1-homework"
#待搜索的名称
filename = "2020"
#定义保存结果的数组
result = []

def findfiles():
    i = 1
    #在这里写下您的查找文件代码吧!
    for root, dirs, files in os.walk(path):
      #os.walk寻找整个目录
            for file in files:
                if filename in file:
                    result.append(os.path.join(root,file))
                    print("[ {}, \'".format(i),end=" ")
                    i+=1
                    print( str(os.path.join(root,file)) +"\']")

                    
if __name__ == '__main__':
    #作为脚本使用时会运行接下来的table()

    findfiles()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
[ 1, ' Day1-homework/4/22/04:22:2020.txt']
[ 2, ' Day1-homework/26/26/new2020.txt']
[ 3, ' Day1-homework/18/182020.doc']

  
 
  • 1
  • 2
  • 3

文章来源: blog.csdn.net,作者:沧夜2021,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/CANGYE0504/article/details/105695642

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。