python debug作业

任务类型任务内容预计耗时
闯关任务Leetcode 383(笔记中提交代码与leetcode提交通过截图)20mins
闯关任务Vscode连接InternStudio debug笔记10mins
可选任务pip安装到指定目录10mins

 leetcode题目解析:

解题思路

  1. 字符统计:使用 Python 的 Counter 类统计 ransomNotemagazine 中每个字符的出现次数。
    • Counter(ransomNote) 会生成一个字典,记录 ransomNote 中每个字符的数量。
    • Counter(magazine) 会生成一个字典,记录 magazine 中每个字符的数量。
  2. 字符数量比较:遍历 ransomNote 中每个字符及其对应的出现次数,检查该字符在 magazine 中的数量是否足够。
    • 如果 magazine 中的某个字符数量小于 ransomNote 中的需求,返回 False
    • 如果所有字符数量都满足条件,则返回 True
from collections import Counter

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        ransom_count = Counter(ransomNote)
        magazine_count = Counter(magazine)

        for char, count in ransom_count.items():
            if magazine_count[char] < count:
                return False
        return True

如何使用InternLM api

我们可以使用openai python sdk来调用InternLM api。注意在配置api key时,更推荐使用环境变量来配置以避免token泄露。

运行成功的截图如下:

对一个.py文件的debug 过程:

 第一个问题apiconnectionerror,这是因为我没有将api填进去,自己把自己的api填进去就好了

第二个问题是

发生异常: JSONDecodeError,出现 JSONDecodeError 的错误提示,说明在尝试解析 JSON 数据时发生了问题。这个错误通常表示返回的内容为空,或者不是有效的 JSON 格式。

后添加下面代码,查看res的输出,我们发现
 

print("API Response:", res)

可以看到这里多了···json的格式还有后面的一堆点点(markdown的格式原因),所以我们要删掉

# 清理字符串,移除 Markdown 标记
res = res.replace('```json\n', '')  # 移除 Markdown 开始标记
res = res.replace('```', '')  # 移除 Markdown 结束标记
res = internlm_gen(prompt,client)
# 打印返回的内容以便调试
print("API Response:", res)
# 清理字符串,移除 Markdown 标记
res = res.replace('```json\n', '')  # 移除 Markdown 开始标记
res = res.replace('```', '')  # 移除 Markdown 结束标记
res_json = json.loads(res)
print(res_json)

成功解决!!!

 

### Python 综合作业项目建议 对于希望深入学习编程并应用所学知识的学生来说,选择合适的Python综合作业题目至关重要。以下是几个具有挑战性和实用性的项目想法: #### 数据分析与可视化工具开发 创建一个数据分析平台,能够处理CSV文件或其他数据源中的信息,并提供多种图表形式来展示这些数据。此项目可以集成Pandas用于数据操作以及Matplotlib或Seaborn库来进行图形化表示[^1]。 ```python import pandas as pd import matplotlib.pyplot as plt def plot_data(file_path): df = pd.read_csv(file_path) # 假设我们有一个名为 'value' 的列要绘制直方图 plt.hist(df['value'], bins=20) plt.show() ``` #### Web应用程序构建 利用Flask框架搭建简单的Web服务端程序,实现用户注册登录功能、个人信息管理等功能模块;还可以进一步扩展到博客系统或者在线商店模拟器等复杂场景下。这不仅有助于理解HTTP协议的工作原理,也能锻炼前后端交互的能力[^2]。 ```python from flask import Flask, render_template, request app = Flask(__name__) @app.route('/') def home(): return "Welcome to My Website!" if __name__ == '__main__': app.run(debug=True) ``` #### 自动化脚本编写 针对日常生活中重复性高的任务(如批量重命名文件),设计相应的自动化解决方案。通过调用操作系统API完成特定工作流的同时提高效率减少人为错误的发生率。这类实践非常适合初学者快速上手并看到实际成果。 ```bash for file in *.txt; do mv "$file" "${file%.txt}.md"; done ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值