当前位置: 首页 > article >正文

pycharm实现skills示例

文章目录步骤报错 未找到技能: python步骤1、新建一个项目名称为skills_demo2、在项目根目录下创建一个名为 main.py 的文件并将以下代码复制进去代码importjsonimportosfromdataclassesimportdataclass,asdictfromenumimportEnumfromtypingimportList,Optional# 1. 定义技能类别枚举classSkillCategory(Enum):PROGRAMMING编程LANGUAGE语言SOFT_SKILL软技能DESIGN设计# 2. 定义技能数据类 (Dataclass)dataclassclassSkill:name:strcategory:SkillCategory level:int1# 默认等级为 1xp:int0# 当前经验值# 升级所需的经验公式当前等级 * 100defxp_needed(self)-int:returnself.level*100defadd_xp(self,amount:int)-bool:添加经验值如果升级返回 Trueself.xpamount leveled_upFalse# 检查是否升级可能一次加很多经验连升多级whileself.xpself.xp_needed()andself.level10:self.xp-self.xp_needed()self.level1leveled_upTrueprint(f 恭喜[{self.name}] 升级到了 Lv.{self.level})ifself.level10:self.xp0# 满级后经验清零或保留这里设为清零returnleveled_updefget_power_score(self)-float:计算该技能的战力贡献 (等级^1.5)returnself.level**1.5defto_dict(self)-dict:转换为字典以便保存 JSONdataasdict(self)data[category]self.category.value# 保存枚举的值而不是对象returndata# 3. 定义技能管理器classSkillManager:def__init__(self,save_file:strskills_data.json):self.save_filesave_file self.skills:List[Skill][]self.load_skills()defadd_skill(self,name:str,category:SkillCategory):new_skillSkill(namename,categorycategory)self.skills.append(new_skill)print(f✅ 已添加新技能:{name}({category.value}))deflist_skills(self):ifnotself.skills:print( 还没有任何技能快去添加吧)returnprint(\n--- 我的技能树 ---)total_power0forsinself.skills:bar█*s.level░*(10-s.level)print(f[{s.category.value}]{s.name}: Lv.{s.level}{bar}({s.xp}/{s.xp_needed()}XP))total_powers.get_power_score()print(f---------------------)print(f⚡ 总战力评分:{total_power:.2f})print(---------------------\n)deftrain_skill(self,skill_name:str,xp_amount:int):foundFalseforsinself.skills:ifs.nameskill_name:s.add_xp(xp_amount)foundTruebreakifnotfound:print(f❌ 未找到技能:{skill_name})defsave_skills(self):data[s.to_dict()forsinself.skills]withopen(self.save_file,w,encodingutf-8)asf:json.dump(data,f,ensure_asciiFalse,indent2)print(f 技能数据已保存至{self.save_file})defload_skills(self):ifnotos.path.exists(self.save_file):returntry:withopen(self.save_file,r,encodingutf-8)asf:datajson.load(f)self.skills[]foritemindata:# 恢复枚举类型cat_enumSkillCategory(item[category])skillSkill(nameitem[name],categorycat_enum,levelitem[level],xpitem[xp])self.skills.append(skill)print(f 已加载{len(self.skills)}个技能。)exceptExceptionase:print(f⚠️ 加载数据失败:{e})# 4. 主程序入口defmain():managerSkillManager()# 如果是第一次运行添加一些示例数据iflen(manager.skills)0:print( 初始化示例数据...)manager.add_skill(Python,SkillCategory.PROGRAMMING)manager.add_skill(PyTorch,SkillCategory.PROGRAMMING)manager.add_skill(English,SkillCategory.LANGUAGE)manager.add_skill(Communication,SkillCategory.SOFT_SKILL)# 模拟训练一下manager.train_skill(Python,150)# 升一级manager.train_skill(PyTorch,50)# 交互式菜单whileTrue:print(1. 查看技能树)print(2. 训练技能 (加经验))print(3. 添加新技能)print(4. 保存并退出)choiceinput(请选择操作 (1-4): ).strip()ifchoice1:manager.list_skills()elifchoice2:nameinput(输入技能名称: ).strip()try:xpint(input(输入获得的经验值: ).strip())manager.train_skill(name,xp)exceptValueError:print(❌ 经验值必须是数字)elifchoice3:nameinput(输入新技能名称: ).strip()print(类别: 1.编程 2.语言 3.软技能 4.设计)cat_idxinput(选择类别编号 (1-4): ).strip()cat_map{1:SkillCategory.PROGRAMMING,2:SkillCategory.LANGUAGE,3:SkillCategory.SOFT_SKILL,4:SkillCategory.DESIGN}ifcat_idxincat_map:manager.add_skill(name,cat_map[cat_idx])else:print(❌ 无效的类别)elifchoice4:manager.save_skills()print( 再见)breakelse:print(❌ 无效输入)if__name____main__:main()3、在 main.py 编辑区域点击右键点 运行你会看到终端Terminal输出初始化的技能树。4、交互测试(1)在下方控制台输入 1 查看列表。输入 2然后输入 Python再输入 200观察它是否升级。输入 4 保存退出。(2)验证数据持久化再次运行程序不要修改代码你会发现它自动加载了你上次保存的数据并且没有重新初始化那些默认数据。你可以在左侧项目栏看到生成的 skills_data.json 文件点开看看里面的数据结构。报错 未找到技能: python是因为代码中的名称为Python大小写不一样训练的时候终端输入改为Python即可。

相关文章:

pycharm实现skills示例

文章目录步骤报错 未找到技能: python步骤 1、新建一个项目,名称为:skills_demo 2、在项目根目录下,创建一个名为 main.py 的文件,并将以下代码复制进去,代码: import json import os from dataclasses i…...

Linux vim编辑器中文乱码解决方案

问题现象在Linux终端中,命令行可以正常显示中文,但使用Vim打开文件时,中文内容变成乱码(如���或��),或者Vim启动时报错E749: Empty buffer。这通常…...

小白程序员必看:轻松入门大模型Agent实战技巧(含收藏)

本文详细介绍了大模型Agent的核心构成(LLM、记忆、工具、规划)及与普通Prompt调用的区别。深入解析了规划模块(CoT/ToT/GoT)、工具类型与定义、ReAct框架原理、记忆模块分类。同时,探讨了死循环解决、工具调用准确率提…...

Tableau实战:5分钟搞定高级扇形图设计(附层叠饼图完整配置)

Tableau实战:5分钟打造高级扇形图与层叠饼图全攻略 在数据可视化领域,扇形图及其变体(如层叠饼图、镶嵌饼图)因其直观展示比例关系的特点,成为商业分析报告中不可或缺的元素。但许多Tableau初学者常陷入两个困境&#…...

07|Token 与上下文窗口:为什么它会忘、为什么会贵

本篇目标:这是卷 1(LLM 核心原理)的第一篇。我们将拆解“Token”这个 AI 计费的最小单位,让你看懂账单,并理解为什么聊久了它就“失忆”。一、Token 是什么?(不是“字”,是“块”&am…...

Qt 工业机器视觉开发

Qt在工业视觉开发中的应用Qt是一个跨平台的C应用程序开发框架,广泛用于工业视觉系统的开发。其强大的图形界面能力和丰富的库支持,使其成为工业视觉领域的理想选择。工业视觉开发的核心需求工业视觉系统通常需要实时图像处理、高精度测量、缺陷检测等功能…...

Day 3 复盘:我为什么选择了 OpenClaw

Day 3 复盘:我为什么选择了 OpenClaw 技术选择没有标准答案,只有最适合的场景。 在经历了多个项目的 CI/CD 工具选型后,我最终决定将 OpenClaw 作为核心自动化平台。今天想和大家分享一下这个决策背后的思考过程。 🔍 选型背景 作为一名开发经理,我接触过各种自动化工具…...

2026年游戏主题海报制作复盘:从找图卡壳到快速出稿的全过程

我是个游戏社群的运营,这周五前要给周末的线上活动赶一张主题海报。主题是经典的游戏角色风格,类似大家熟知的“马里奥”那种。听起来不难,但真动起手来,我卡了两天,主要是找不到风格统一、清晰度又够用的素材。直接用…...

Figma学习

一、快捷键的使用 1、F 预选手机屏幕框架 2、选中主体按alt拖动实现复制3、shiftR标尺显示与消失 4、 ctrlG 成组...

AI智能分析系统在班级与教学楼的应用解决方案

目录 引言 一、方案背景与客户需求 方案背景 客户需求 二、AI智能分析系统方案说明 系统架构 前端设备 AI Box边缘计算设备 算法部署与应用 三、实施效果与优势 实施效果 方案优势 四、结论与展望 引言 随着教育信息化与智能化浪潮的推进,智慧教育环境建设已成为…...

springboot无人机农田巡查系统设计-

目录系统架构设计无人机控制模块实现农田数据采集模块数据分析处理模块用户界面与权限控制系统集成与测试部署运维方案项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构设计 采用SpringBoot作为…...

ArduinoIDE调试ESP32的5个隐藏技巧:从串口监视器到错误定位的实战手册

ArduinoIDE调试ESP32的5个隐藏技巧:从串口监视器到错误定位的实战手册 当你在深夜赶项目时,突然遇到ESP32编译报错却找不到问题所在;当你精心编写的代码上传后,串口监视器却一片空白;当你试图追踪变量值时,…...

如何使用 Docker 安全地部署 OpenClaw (龙虾)

OpenClaw (龙虾) 是一个强大的个人 AI 助手,它可以连接各种消息平台并执行工具。本文介绍如何通过 Docker Compose 安全地部署 OpenClaw,并解析其中的关键配置。 OpenClaw 提供了强大的 AI 能力,但也意味着它需要访问你的文件、工具和 API 密…...

计算机组成原理视角下的AI算力:剖析万象熔炉·丹青幻境的GPU资源利用

计算机组成原理视角下的AI算力:剖析万象熔炉丹青幻境的GPU资源利用 最近在折腾一个挺有意思的AI绘画模型,叫“万象熔炉丹青幻境”。名字听着挺玄乎,其实就是个能根据文字描述生成各种风格图片的模型。玩了几次之后,我发现它生成图…...

02 今日内容大纲

02 今日内容大纲计算机相关概述Linux系统简介Linux安装环境搭建 安装vmware虚拟化软件安装linux虚拟机安装远程连接工具 finallshell crt. tabby配置finalshell 连接虚拟机 - 修改虚拟机 - 修改vmware软件的ip信息 - 修改本地vmnet8的网卡信息 - 配置finalshell软件的连接信息…...

阿里大模型二面:在 Agent 的设计中,“规划能力“至关重要。请谈谈目前有哪些主流方法可以赋予 LLM 规划能力?(例如 CoT, ToT, GoT 等)

1. 题目分析这道题考察的是你对 Agent 核心能力之一——规划(Planning)的系统性理解。面试官提到了 CoT、ToT、GoT 这些关键词,但他真正想听的不是你把这几个缩写展开然后各背一段定义,而是你能不能把这些方法放到一条演进脉络上&…...

Qwen3-VL-8B轻量部署全攻略:从环境搭建到API调用,一步到位

Qwen3-VL-8B轻量部署全攻略:从环境搭建到API调用,一步到位 在当今AI技术快速发展的时代,多模态模型正成为行业新宠。然而,大多数高性能视觉语言模型对硬件要求极高,让许多开发者和中小企业望而却步。Qwen3-VL-8B-Inst…...

2026.3.16oj总结

1.学生信息问题描述你的程序需要从标准输入设备(通常为键盘)中输入N(1≤N≤10)个学生的信息,每项信息包含该学生的编号、姓名、性别、年龄、成绩共五项,按成绩进行排序,然后按成绩从低到高输出&…...

GLM-OCR入门教程:3步完成Ubuntu20.04环境部署与首次调用

GLM-OCR入门教程:3步完成Ubuntu20.04环境部署与首次调用 你是不是也遇到过这种情况:手头有一堆图片,里面全是文字信息,比如扫描的文档、截图的聊天记录,或者拍下来的白板内容。一个个手动敲键盘录入?太费时…...

为RVC模型设计自动化测试流水线:确保模型更新后的质量稳定

为RVC模型设计自动化测试流水线:确保模型更新后的质量稳定 每次更新RVC模型,心里是不是都有点打鼓?新版本的声音转换效果真的比老版本好吗?有没有在某个你没注意到的场景下,效果反而变差了?手动测试几个样…...

【CVPR26-Min Tan-杭电】基于多线索学习的伪标签进化融合与优化:用于无监督伪装检测

文章:EReCu: Pseudo-label Evolution Fusion and Refinement with Multi-Cue Learning for Unsupervised Camouflage Detection代码:https://github.com/JSLiam94/EReCu单位:杭州电子科技大学、浙江大学一、问题背景伪装目标检测的核心难点&a…...

Python战棋游戏开发:六边形地图A*寻路算法实战(附完整代码)

Python战棋游戏开发:六边形地图A*寻路算法实战(附完整代码) 战棋游戏作为一种经典的策略游戏类型,其核心玩法往往围绕着地图移动和战术决策展开。与传统的方形网格地图相比,六边形地图提供了更自然的移动路径和更丰富的…...

开源大模型实践:软萌拆拆屋LoRA融合多专家模型探索

开源大模型实践:软萌拆拆屋LoRA融合多专家模型探索 1. 引言:当AI遇见“软萌”拆解术 想象一下,你有一件设计复杂的洛丽塔裙子,想把它拆解开,把每一个蝴蝶结、每一片蕾丝都整整齐齐地铺在桌面上,拍一张既专…...

DJI Windows SDK开发避坑指南:从注册到成功运行(VS2019实测)

DJI Windows SDK开发实战:从环境搭建到关键问题解决(VS2019全流程) 第一次接触DJI Windows SDK时,那种既兴奋又忐忑的心情至今记忆犹新。作为大疆生态的重要入口,这套SDK为开发者打开了无人机控制的无限可能&#xff0…...

Windows 上 openclaw onboard --install-daemon 命令的安装位置和启动配置

如果你想禁用openclaw的启动,需要在这个任务位置进行禁用,或删除。 # Windows 上 openclaw-cn onboard --install-daemon 命令的安装位置和启动配置 ## 安装位置 当你在 Windows 上运行 openclaw-cn onboard --install-daemon 命令时,它会: 1. 生成任务脚本文件 : …...

PyTorch钩子方法实战:如何用register_forward_hook提取中间层特征图(附代码避坑指南)

PyTorch钩子方法实战:如何用register_forward_hook提取中间层特征图(附代码避坑指南) 在深度学习的模型开发与调试过程中,中间层特征图的可视化与分析是理解模型行为的关键手段。PyTorch提供的register_forward_hook方法&#xff…...

ChatGLM3-6B在医疗领域的创新应用:智能问诊与病历分析

ChatGLM3-6B在医疗领域的创新应用:智能问诊与病历分析 1. 当医生还在写病历时,AI已经完成了初步诊断建议 上周我陪家人去社区医院看慢性咳嗽,候诊时看到一位老医生正对着电脑反复修改病历,手指在键盘上停顿了好几次。旁边年轻医…...

AirLLM技术教程:低资源环境下的大模型部署解决方案

AirLLM技术教程:低资源环境下的大模型部署解决方案 【免费下载链接】airllm AirLLM 70B inference with single 4GB GPU 项目地址: https://gitcode.com/GitHub_Trending/ai/airllm 核心价值主张:破解大模型部署的资源困境 在人工智能领域&#…...

RTOS技术路线之争的办公室江湖

《死锁》 第一章 架构师的尊严 我叫陈规,规矩的规。这名字是我爹取的,他是厂里的八级钳工,一辈子信奉"没有规矩不成方圆"。我继承了他的信仰,只不过我的规矩是MISRA-C,我的方圆是AutoSAR OS的架构图。 在华夏智驾干了八年,我从写驱动的小兵混成了AutoSAR OS派…...

AI超清画质增强镜像:图片细节修复与降噪功能体验

AI超清画质增强镜像:图片细节修复与降噪功能体验 1. 引言:当模糊照片遇上AI“脑补”技术 你有没有翻出过一张老照片,却发现它已经模糊得看不清人脸?或者从网上下载了一张心仪的图片,放大后却满是马赛克和噪点&#x…...