2. 编程


image-20260529164230295

元宝提供在线编程功能,无需配置本地开发环境,即可直接生成、修改并运行代码,支持多种主流编程语言的在线执行。点击输入框左下角「工具 > 编程」即可进入;页面上方还提供多种预设模板,便于用户快速发起提问、提升交互效率。

功能特色

  • 代码生成:根据需求描述生成代码
  • 代码调试:分析报错信息并给出修复建议
  • 代码解释:逐行讲解代码的功能和逻辑
  • 在线运行:支持多种语言直接运行

代码操作

image-20260427213205850

生成好的代码可以进行导出或直接在线运行。

使用示例

示例一:

帮我用 Python 写一个批量重命名文件的脚本,
具体需求如下:

1. 核心功能
   - 批量重命名指定文件夹内的所有文件
   - 命名格式为「日期 + 序号」,例如:20260529_001、20260529_002
   - 日期取当前系统日期(格式 YYYYMMDD),序号从 001 起按顺序递增
   - 保留文件原有的扩展名(如 .jpg、.txt 等)

2. 可配置项
   - 目标文件夹路径
   - 序号位数(如 3 位 001、4 位 0001)
   - 可选:按文件创建时间或文件名排序后再编号

3. 技术要求
   - 使用标准库实现(如 os、datetime),无需第三方依赖
   - 重命名前先检查是否存在重名冲突,避免文件被覆盖
   - 加入异常处理,对文件夹不存在、无权限等情况给出友好提示

输出结果

import os
import sys
from datetime import datetime

# ======================
# ⚙️ 可配置项
# ======================
TARGET_DIR = r"./test_files"   # 目标文件夹路径
NUM_DIGITS = 3                # 序号位数(3 → 001)
SORT_BY = "name"              # "name" 或 "ctime"(创建时间)
# ======================


def safe_rename():
    if not os.path.isdir(TARGET_DIR):
        print(f"❌ 错误:目录不存在 → {TARGET_DIR}")
        return

    try:
        files = [
            f for f in os.listdir(TARGET_DIR)
            if os.path.isfile(os.path.join(TARGET_DIR, f))
        ]
    except PermissionError:
        print(f"❌ 没有权限访问目录 → {TARGET_DIR}")
        return

    if not files:
        print("ℹ️ 文件夹为空,无需处理")
        return

    # 排序
    if SORT_BY == "ctime":
        files.sort(key=lambda f: os.path.getctime(os.path.join(TARGET_DIR, f)))
    else:
        files.sort()

    date_str = datetime.now().strftime("%Y%m%d")
    used_names = set(files)

    for index, old_name in enumerate(files, start=1):
        ext = os.path.splitext(old_name)[1]  # 保留原扩展名
        new_name = f"{date_str}_{index:0{NUM_DIGITS}d}{ext}"
        new_path = os.path.join(TARGET_DIR, new_name)
        old_path = os.path.join(TARGET_DIR, old_name)

        if new_name in used_names and new_name != old_name:
            print(f"⚠️ 跳过(重名冲突):{new_name}")
            continue

        try:
            os.rename(old_path, new_path)
            print(f"✅ {old_name} → {new_name}")
        except Exception as e:
            print(f"❌ 重命名失败:{old_name},原因:{e}")

    print("\n🎉 批量重命名完成")


if __name__ == "__main__":
    safe_rename()

示例二:

这段代码运行时报错了,错误信息如下:
[粘贴完整的错误信息/报错日志]

相关代码如下:
[粘贴出错的代码片段]

运行环境:
[如编程语言及版本、框架、操作系统等]

请帮我完成以下事项:
1. 定位并分析报错的根本原因
2. 给出修复后的完整代码
3. 简要说明修改的内容及原因,以便我理解和避免同类问题

示例三:

帮我用 JavaScript 实现一个简单的待办事项(To-Do List)功能,
具体需求如下:

1. 核心功能
   - 添加新的待办事项
   - 删除指定的待办事项
   - 标记待办事项为「已完成 / 未完成」

2. 界面要求
   - 包含输入框和「添加」按钮
   - 列表展示所有待办事项,已完成项以删除线或灰色标识
   - 界面简洁美观,适配桌面端浏览器

3. 技术要求
   - 使用原生 HTML + CSS + JavaScript 实现,无需引入第三方框架
   - 代码结构清晰,关键逻辑附上注释

请提供完整可运行的代码,并简要说明各部分的实现思路。

评论

0
还没有评论,来写第一条吧