Python的基础算法题

目录

1.日期计算器

2.翻转单词顺序(剑指offer 50)

3.旋转字符串(力扣796)

4.文件查找工具


1.日期计算器

方法1:

# 先构造datetime变量
import datetime
date1=datetime.datetime(year=2012,month=2,day=14)
data2=datetime.datetime(year=2016,month=2,day=3)
print(data2-date1)

方法2:

from datetime import datetime

date1=datetime(year=2012,month=2,day=14)
date2=datetime(year=2016,month=2,day=3)
print(date2-date1)

 方法3:

import datetime as dt
date1=dt.datetime(year=2012,month=2,day=14)
data2=dt.datetime(year=2016,month=2,day=3)
print(data2-date1)

2.翻转单词顺序(剑指offer 50)

在Python的思路是:

1.针对上述的字符串,使用空格进行切分,字符串split方法,可以指定分隔符,把字符串分成多个部分,放到一个list里面。

2.针对刚才的切分的结果列表,进行逆序。

3.再把逆序后的列表,组合起来,join

 def reverseWords(s:str):
     tokens=s.split(' ')
     tokens.reverse()
     return ' '.join(tokens)

 print(reverseWords("I an a student."))

3.旋转字符串(力扣796)

输入:s="abcde"

把最左侧的字符,放到最右侧去变为 "bcdea" "cdeab""deabc" "eabcd"

def rotateString(s,goal):
    if len(s)!=len(goal):
        return False
    #in操作判断某个字符串是不是另外一个字符串的子串
    return goal in (s+s)

print(rotateString("abcde","cdeab"))
print(rotateString("abcde","edcba"))

4.文件查找工具

for dirpath,dirnames,filenames in as.walk(inputPath):

dirpath 遍历到当前位置,对应路径是啥

dirnames 当前目录下,都有哪些目录名,是一个列表,可以包含多个目录名

filenames 当前目录下,都有哪些文件名,是一个列表,可以包含多个文件名

#实现文件查找工具
#输入要查找的路径,输入要搜索的文件名(一部分)
#自动的在指定的路径中查找
import os
inputPath=input("请输入要搜索的路径")
pattern=input('请输入要搜索的关键词')

for dirpath,dirnames,filenames in os.walk(inputPath):
    # print('------------------------------------')
    # print(f'dirpath={dirpath}')
    # print('dirnames:')
    # for name in dirnames:
    #     print(name)
    # print('filenames:')
    # for name in filenames:
    #     print(name)
    for f in filenames:
        if pattern in f:
            print(f'{dirpath}/{f}')

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值