python TypeError: 'NoneType' object has no attribute '__getitem__'

qq_40790713 qq_40790713 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
import random
class Deck:
def __init__(self,cards):
self.cards = cards
def generate(self):
for i in range(1,14):
self.cards.append([i,'heart'])
self.cards.append([i,'clubs'])
self.cards.append([i,'diamond'])
self.cards.append([i,'spade'])
finalCards = random.shuffle(self.cards)
return finalCards
class Handcards:
def __init__(self,finalCards):
self.finalCards = finalCards
def generateHandcards(self):
nCards = []
eCards = []
sCards = []
wCards = []
for i in range(5):
n = self.finalCards[0]
e = self.finalCards[1]
s = self.finalCards[2]
w = self.finalCards[3]
nCards.append(n)
eCards.append(e)
sCards.append(s)
wCards.append(w)
self.finalCards = self.finalCards[4:]
print nCards,eCards,sCards,wCards
return nCards,eCards,sCards,wCards
def main():
finalCards = Deck([]).generate()
playerCards = Handcards(finalCards).generateHandcards()
if __name__ == '__main__':
main()
结果报错TypeError: 'NoneType' object has no attribute '__getitem__'
...全文

相关推荐

微电网中蓄电池与超级电容混合储能的协调控制(Simulink仿真实现)

内容概要:本文系统研究了微电网中蓄电池与超级电容混合储能系统的协调控制策略,并基于Simulink平台完成了仿真验证。文章围绕两类储能元件的特性差异,提出通过合理的能量管理策略与功率分配算法实现优势互补:利用蓄电池的高能量密度承担长期能量支撑,结合超级电容的高功率密度应对瞬时功率波动,从而有效平抑微电网中的功率不平衡问题,提升系统动态响应速度与运行稳定性。文中构建了包含多级控制架构的混合储能系统模型,采用低通滤波、改进下垂控制或状态反馈控制等方法实现功率的频率分量解耦与动态分配,详细阐述了控制环路设计、能量管理逻辑及参数整定原则。仿真结果表明,该协调控制策略能显著降低单一储能单元的负荷压力,延长其使用寿命,并增强微电网在并网与孤岛模式下的电能质量与供电可靠性。; 适合人群:具备电力系统分析、自动控制理论及新能源技术基础知识,熟悉MATLAB/Simulink仿真环境,从事微电网、分布式能源系统、储能技术等相关领域研究的研究生、高校科研人员及电力行业工程技术人员。; 使用场景及目标:①深入理解混合储能系统在微电网功率平衡、频率调节与电压稳定中的协同作用机制;②掌握基于频率分解或下垂特性的功率分配算法设计与实现方法;③为储能系统寿命优化、动态性能提升提供可复现的仿真验证平台;④支持学术论文研究、毕业课题开发及实际工程项目前期方案论证与优化。; 阅读建议:建议读者结合文中提供的仿真模型与参考文献,亲手搭建Simulink系统,重点剖析功率分配逻辑与多层控制结构的协同机制,深入理解控制参数对系统动态性能的影响,并可通过设置不同的负载扰动工况或引入可再生能源出力波动来测试系统的鲁棒性与适应性。

wlz249

产业园区运营负责人如何提升园区内企业与高校的协同创新能力?.docx

产业园区运营负责人如何提升园区内企业与高校的协同创新能力?

BIZKEEN

MCP协议实践:工具目录与延迟绑定的Python实现(token开销测算)

【内容概要】 本资源是《智能体演化史》系列第七篇的配套代码,用 106 行 Python 演示 MCP(Model Context Protocol)最关键的一个设计:延迟绑定。传统做法是把所有工具 schema 一次性塞进系统提示词,工具一多,光说明书就把上下文吃穿。代码里模拟了一个暴露 50 个工具的 MCP server,只把工具目录(名字加一句话描述)给模型看,等模型决定要用哪个,再把那一份完整 schema 拉下来。配套测算脚本给出两组数:M 个客户端对接 N 个服务的集成数量从 600 降到 62,减少约 90%;单轮 token 从 11650 降到 1299,即使把"先查目录再拉详情"带来的额外规划轮次算进去(按 15% 规划税计),仍然节省约 87%。结论有点反直觉:MCP 的代价不在账单上,而在多了一次往返带来的延迟和失败点。 【适用人群】 工具数量多、上下文经常被 schema 占满的智能体开发者;需要对接多个外部服务的平台工程师;正在评估是否引入 MCP 的架构师。 【使用场景及目标】 1) 参考目录加延迟绑定的写法,改造自己的工具注册逻辑; 2) 用测算脚本评估接入 N 个服务后的 token 与集成成本; 3) 作为选型材料,向团队说明 MCP 省的是什么、付出的是什么。 目标:把工具接入做成可扩展的协议层,而不是每接一个服务就改一遍提示词。 【其他说明】 需 pip install openai 并配置 OPENAI_API_KEY;文中的 MCP server 为本地模拟实现,替换为真实 server 时只需改 call_tool 与目录拉取两处。测算脚本离线可跑,参数可改。引入 MCP 会增加网络往返与信任边界,生产环境请对 server 做来源校验与超时控制。

积流成海

国央企创新负责人如何高效配置创新资源并推动内部技术成果的市场化转化?.docx

国央企创新负责人如何高效配置创新资源并推动内部技术成果的市场化转化?

BIZKEEN

产业园区运营负责人如何提升科技成果与产业需求的精准匹配效率?.docx

产业园区运营负责人如何提升科技成果与产业需求的精准匹配效率?

BIZKEEN
评论 5
收藏 已收藏
分享
返回顶部
qq_40790713
非技术区 7,776 成员 63,111 内容