【飞桨AI-Python小白逆袭大神课程】作业1-python基础练习

news2024/11/16 22:37:58

链接:飞桨AI Studio - 人工智能学习与实训社区

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

注意:提交作业时要有代码执行输出结果。

def table():
    #在这里写下您的乘法口诀表代码吧!



if __name__ == '__main__':
    table()

思路:循环嵌套+格式化输出

tip:如果想使用print() 时不输出换行,添加参数end=''

参考代码:

def table():
    #在这里写下您的乘法口诀表代码吧!
    for i in range(1,10):
        for j in range(1,i+1):
            print('%d*%d=%d '%(j,i,i*j),end='')
        print('\n')

if __name__ == '__main__':
    table()

输出:

 

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

遍历”Day1-homework”目录下文件;

找到文件名包含“2020”的文件;

将文件名保存到数组result中;

按照序号、文件名分行打印输出。

注意:提交作业时要有代码执行输出结果。

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

def findfiles():
    #在这里写下您的查找文件代码吧!

    

if __name__ == '__main__':
    findfiles()

思路:递归得到文件下全部文件及子文件名称,使用find()查找字符串中是否含有相关字符,如果有则添加进result数组,最后打印出序号和文件名。

tip:os.listdir()、os.walk()获取全部文件名,find()查找字符串中的子字符串,如果有返回index,没有返回-1。os.path.join()用文件分隔符拼接字符串,jion()自定义分隔符。

1、查找文件名:

1、os.listdir() 方法用于返回指定的目录下包含的文件或子目录的名字的列表。这个列表以字母顺序。其得到的是仅当前路径下的文件名,不包括子目录中的文件,如果需要得到所有文件需要递归。 它也不包括 '.' 和 '..' 即使它在目录中。

        example:

def findfiles():
    p = os.listdir(path)
    print(p)

        输出:

['26', '4', '1', '18']

         只能获取一级子文件夹的名字,其中更深层的子文件名没有得到。

使用递归方法,获取全部文件及子文件名。

参考代码1:

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

def findfiles(path):
    if path:
        try:
            paths = os.listdir(path)
        except NotADirectoryError as e:
            pass
        except UnboundLocalError as e:
            pass
        try:
            for p in paths:
                findfiles(os.path.join(path,p))
                #print(os.path.join(path,p))  
                result.append(os.path.join(path,p))
        except UnboundLocalError as e:
            pass
        
if __name__ == '__main__':
    findfiles(path)
    #print(result)
    i=0
    for r in result:
        if r.find(filename)!=-1:
            print(i,r)
            i+=1


输出:

 

2、os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。

语法格式为:os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])

方法参数说明:top:要遍历的目录的路径

topdown:可选,如果为 True,则优先遍历 top 目录,以及 top 目录下的每一个子目录,否则优先遍历 top 的子目录,默认为 True

onerror: 可选, 需要一个 callable 对象,当 walk 异常时调用

followlinks:可选, 如果为 True,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录,默认为 False。

返回值: 三元组 (root, dirs, files)

root :所指的是当前正在遍历的目录的地址

dirs :当前文件夹中所有目录名字的 list (不包括子目录)

files :当前文件夹中所有的文件 (不包括子目录中的文件)

参考代码2:

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

def findfiles():
    #在这里写下您的查找文件代码吧!
    lists=[]
    i=0
    for root,dirs,files in os.walk(path):
        #root所指的是当前正在遍历的目录的地址
        #dirs当前文件夹中所有目录名字的 list (不包括子目录)
        #files当前文件夹中所有的文件 (不包括子目录中的文件)
        for f in files:
            #获得全部文件下的子文件路径
            if f.find(filename)!=-1:
                p = os.path.join(root,f)
                result.append(p)
    #输出序号及其文件名
    for r in result:
        print('%d:%s'%(i,r))
        i+=1
    


if __name__ == '__main__':
    findfiles()

输出:

 

 

参考文章:

python找到指定文件名_如何在Python中找到想要的文件名_weixin_39842475的博客-CSDN博客

python第3章-4 查找指定字符_python字符串查找特定字符_神的恩惠。的博客-CSDN博客 

python学习—第一步—Python小白逆袭大神(第一天)_浅墨入画,岁月入禅的博客-CSDN博客_python小白逆袭大神

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/353956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基础篇—CSS padding(填充\内边距)解析

CSS padding(填充) CSS padding(填充)是一个简写属性,定义元素边框与元素内容之间的空间,即上下左右的内边距。 属性说明padding使用简写属性设置在一个声明中的所有填充属性padding-bottom设置元素的底部填充padding-left设置元素的左部填充padding-right设置元素的右部…

win11下WSL环境安装

微软官方wsl手册 微软官方wsl手册pdf 一、wsl中镜像安装 在启用或关闭Windows功能勾选一下两个选项 打开powershell,输入wsl, 可以根据wsl的命令来安装镜像。也可以在软件商店中进行安装ubuntu 安装完成后,打开ubuntu,会自动完成初始化。提示安装成功…

【RabbitMQ六】——RabbitMQ主题模式(Topic)

RabbitMQ主题模式(通配符模式)前言什么是Topic模式使用Topic模式的要点通配符规则示例代码示例Pom文件引入RabbtiMQ依赖RabbitMQ工具类生产者消费者1消费者2效果总结前言 通过本篇博客能够简单使用RabbitMQ的主题模式。 本篇博客主要是博主通过官网总结…

K8s集群部署(kubeadm安装部署详细手册)

1、简介 K8s部署主要有两种方式:1、Kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。 2、二进制 从github下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。…

【C++进阶】二、多态详解(总)

目录 一、多态的概念 二、多态的定义及实现 2.1 多态的构成条件 2.2 虚函数 2.3 虚函数的重写 2.4 虚函数重写的两个例外 2.4.1 协变 2.4.2 析构函数的重写 2.5 C11 override 和 final 2.5.1 final 2.5.2 override 2.6 重载、覆盖(重写)、隐藏(重定义)的对比 三、…

【C++】类与对象 (四)初始化列表 static成员 友元 内部类 匿名对象 拷贝对象时的一些编译器优化

前言 本章就是我们C中类与对象的终章了,不过本章的难度不大,都是类中一些边边角角的知识,记忆理解就行了,相信经过这么长时间的学习类与对象,你对面向对象也有了更加深的理解,最后我们学习完边边角角的一些…

2022黑马Redis跟学笔记.实战篇(五)

2022黑马Redis跟学笔记.实战篇 五4.5 Redis实现秒杀优化4.5.1 基于Redis实现秒杀减库存6.1 秒杀优化-异步秒杀思路4.5.2 基于Redis的一人一单限制4.5.3 基于阻塞队列的异步下单4.6 秒杀的异步优化4.6.1.基于消息队列的异步下单思路4.6.2.基于List结构的消息队列4.6.3.基于PubSu…

[答疑]经营困难时期谈建模和伪创新-长点心和长点良心

leonll 2022-11-26 9:53 我们今年真是太难了……(此处删除若干字)……去年底就想着邀请您来给我们讲课,现在也没有实行。我想再和我们老大提,您觉得怎么说个关键理由,这样的形势合适引进UML开发流程? UML…

ESXi Args勒索病毒来袭,VMware ESXi用户需提高警惕

近日,多国通报了一项名为“ESXi Args”的勒索软件活动。ESXi Args主要针对VMware ESXi服务器进行攻击,利用ESXi 服务器中的已知漏洞,获取访问权限并部署勒索软件,对ESXi服务器内配置文件进行加密并发送赎金票据。 当前&#xff0…

从零到1构建可发布的npm包

本文将介绍通过 rollup, 从零开始构建一个简易的可发布的npm包。本文可实现的目标如下: 通过 rollup进行构建支持 Typescript支持 npm 方式安装支持 cdn 方式,在页面中引入支持本地调试可发布到npm 一、从 package 开始项目分析 首先,在终…

港科夜闻|香港科大与香港科大(广州)两校交流开启新篇章

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、香港科大与香港科大(广州)两校交流开启新篇章。2月10日,香港科技大学校董会主席廖长城先生、校董会副主席杨佳锠先生、校长叶玉如院士一行到访香港科大(广州),共商“香港科大一体、双校互补”框架下的…

go gin学习记录3

环境 环境:mac m1,go version 1.17.2, goland, mysql 安装gorm 第二节学习了在gin中使用go的原生SQL进行操作,这节学习一下使用orm。 go的orm包有很多,gorm是使用较多较广的,所以我们就用gor…

车辆逆行识别检测预警算法 yolov5

车辆逆行识别检测预警算法通过Pythonyolov5网络模型计算机算法技术,车辆逆行识别检测预警算法对道路来往行驶车辆出现逆行行为及时预警存档。Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和…

大数据之-Nifi-监控nifi数据流信息_监控数据来源_bub轻松复现---大数据之Nifi工作笔记0011

通过数据流功能可以轻松复现,数据的流向在某个时间点数据是怎么流动的,出现了什么问题,太强大了.. 真的是,可以看到通过右键,处理器,打开view data province就可以看到, 上面是处理器处理数据的详细信息 点击左侧的详情图标可以查看详情信息,details是这个事件处理的内容详情,…

【计算机网络】运输层

文章目录运输层概述运输层端口号、复用与分用的概念UDP和TCP的对比TCP的流量控制TCP的拥塞控制TCP超时重传时间的选择TCP可靠传输的实现TCP的运输连接管理TCP的连接建立(3次握手)TCP的连接释放(4次挥手)TCP报文段的首部格式运输层概述 这里我们对运输层进行概述,之…

【双指针问题】LeetCode 925. 长按键入

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…

【C++】类型转化

🌈欢迎来到C专栏~~类型转化 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤&…

Python-第九天 Python异常、模块与包

Python-第九天 Python异常、模块与包一、了解异常1. 什么是异常:2. bug是什么意思:二、异常的捕获方法1. 为什么要捕获异常?2. 捕获异常的语法3. 如何捕获所有异常?三、异常的传递性1.异常是具有传递性的四、Python模块1. 什么是模…

21. 合并两个有序链表

题目链接:解题思路:遍历,双指针:因为两个链表有序,所以只需要依次比较两个元素的大小,然后添加到新的链表中即可first指针指向第一个链表l1,second指针指向第二个链表l2,answer保存合…

Python3 JSON 数据解析

Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。 Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。 在 json 的编解码…