【每周一坑】数路径

简介: 现有一个 m × n (m,n 都小于 100)的网格,位于左上角的 A 要去寻找右下角的 B,A 只能向下或者向右行走,现在问题来了,按照刚才的规则,A 到达 B 一共有多少种不重复的路径?

加入教室的新同学看这里 ☞ 给新同学:编程教室资源索引


另外一些书籍推荐 ☞ 几个以前发过、回复过很多次、比较有用的学习资源


代码方面的问题,欢迎大家在论坛上发帖讨论(有问必回):bbs.crossincode.com


最近有同学表示在找工作面试时遇到了在我们【每周一坑】栏目中做过的题目,于是轻松搞定。所以说嘛,功夫不负有心人,多写代码绝对是有好处滴 :)


本周的问题和寻路有关:


现有一个 m × n (m,n 都小于 100)的网格,位于左上角的 A 要去寻找右下角的 B,A 只能向下或者向右行走,现在问题来了,按照刚才的规则,A 到达 B 一共有多少种不重复的路径?


def uniquePath(m, n):
    '''
    :type m: int
    :type n: int
    :rtype: int
    '''
    # your code here
assert uniquePath(1, 2) == 1
assert uniquePath(3, 3) == 6
assert uniquePath(10, 20) == 6906900

期待各位同学提交解答。


提交代码可以使用 paste.ubuntu.com 或 codeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。


往期问题可通过公众号菜单栏“课外辅导”栏目中进入查看。


【解答】缩小图片尺寸

上周的题目,核心的代码在于图片的处理,这个通过 python 的 PIL(Python Imaging Library)库的 resize() 方法即可实现。


注意:这个库是要另行安装的,如果你装过 anaconda,那直接就包含了。否则的话,你需要通过安装 Pillow 来获得 PIL 的功能:


pip install pillow


核心代码


import os
from PIL import Image
def process(addrs, dest, ratio, delete):
    # addrs 为所有待处理的图片地址 类型为 list
    # dest 为某个文件夹路径 类型为 str
    # ratio 为缩小比例, 类型为 float
    # delete 为是否删除原文件标记, 类型为 bool
    for file in addrs:
        # 缩小图片并保存
        im = Image.open(file)
        adjusted_size = tuple([int(i*ratio) for i in im.size])
        new = im.resize(adjusted_size)
        name = file.split('/')[-1]
        file_path = os.path.join(dest, name)
        # 查看目的文件夹是否已经存在该文件
        # 存在则在文件名前添加 _ 
        while os.path.exists(file_path):
            name = '_' + name
            file_path = os.path.join(dest, name)
        new.save(file_path)
        print('文件 {0} 经处理后保存为 {1}'.format(file, name))    # 是否删除
    if delete:
        for file in addrs:
            os.remove(file)
        print('原文件已经删除')


关于目录及文件的处理,可以通过 os.walk() 来实现,命令行参数则可借助 argparse 模块。具体代码这里不赘述,可以在此查看:


https://gitee.com/zx576/Crossin-practices/blob/master/python_weekly_question/shrinkimg/shrink.py


完成该题目的同学有四位:


@王任 同学的代码逻辑较完整,不仅考虑了正常的情况,也考虑了异常处理:https://paste.ubuntu.com/25589912/


其他完成题目的同学还有:


@热风 同学:https://github.com/SumOfMinterm/PythonProjects-ImageProcessing/blob/master/resizeByArgs.py


@古美萌 同学: https://coding.net/u/komikado/p/crossinweek/git/blob/master/img.py


@Seerz 同学:https://paste.ubuntu.com/25513336/


感谢大家的参与!



  • 点击左下角“阅读原文”,可查看Python教程及更多学习资源
  • 代码问题请在论坛 bbs.crossincode.com 上发帖提问
  • 欢迎加入讨论交流群组共同学习进步
  • 别忘了将我们的文章转发朋友圈或在知乎上为我们的专栏点赞,你们的支持将会让编程教室做得更好:)


近期文章推荐阅读:

Python有嘻哈:Crossin教你用代码写出押韵的verse

听说你好不容易写了个爬虫,结果没抓几个就被封了?

编程新手:看懂很多示例,却依然写不好一个程序

喏,你们要的 PyCharm 快速上手指南

给伸手党的福利:Python 新手引导

数据分析:当赵雷唱民谣时他唱些什么?

Python 爬虫爬取美剧网站

爆款游戏《贪吃蛇大作战》的 Python 实现

相关文章
|
11天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
6天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
4085 11
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
7天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
4603 14
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
9天前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
7135 16
|
5天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
2826 7
|
7天前
|
存储 人工智能 机器人
OpenClaw是什么?阿里云OpenClaw(原Clawdbot/Moltbot)一键部署官方教程参考
OpenClaw是什么?OpenClaw(原Clawdbot/Moltbot)是一款实用的个人AI助理,能够24小时响应指令并执行任务,如处理文件、查询信息、自动化协同等。阿里云推出的OpenClaw一键部署方案,简化了复杂配置流程,用户无需专业技术储备,即可快速在轻量应用服务器上启用该服务,打造专属AI助理。本文将详细拆解部署全流程、进阶功能配置及常见问题解决方案,确保不改变原意且无营销表述。
4796 5
|
9天前
|
人工智能 JavaScript API
零门槛部署本地 AI 助手:Clawdbot/Meltbot 部署深度保姆级教程
Clawdbot(Moltbot)是一款智能体AI助手,具备“手”(读写文件、执行代码)、“脚”(联网搜索、分析网页)和“脑”(接入Qwen/OpenAI等API或本地GPU模型)。本指南详解Windows下从Node.js环境搭建、一键安装到Token配置的全流程,助你快速部署本地AI助理。(239字)
4727 23
|
15天前
|
人工智能 API 开发者
Claude Code 国内保姆级使用指南:实测 GLM-4.7 与 Claude Opus 4.5 全方案解
Claude Code是Anthropic推出的编程AI代理工具。2026年国内开发者可通过配置`ANTHROPIC_BASE_URL`实现本地化接入:①极速平替——用Qwen Code v0.5.0或GLM-4.7,毫秒响应,适合日常编码;②满血原版——经灵芽API中转调用Claude Opus 4.5,胜任复杂架构与深度推理。
8772 13