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

Anylogic中使用Python执行3(求和)

代码链接见:下载地址

设计了X+Y求值的程序,X和Y值是在Python程序中设置好的
拖拽了一个button按钮,在行动中设置如下程序

// Step 1: 执行 Python 代码,定义函数或获取结果
pyCom.run("import anylogic_test"); // 导入你的 Python 模块Attempt attempt = pyCom.run("anylogic_test.get_x()"); // 获取返回值并转为字符串
int feedbackStrX = pyCom.runResults(int.class,"anylogic_test.get_x()"); //分配浮点型数据
if (attempt.isSuccessful()) {traceln("attempt.getFeedback"+attempt.getFeedback());traceln("Python 返回的值是:" +feedbackStrX);
} else {traceln("Python 执行出错:" + attempt.isSuccessful());
}	

attempt.getFeedback()返回的是String型数据。
拖拽了另外一个button按钮,在行动中设置如下程序

pyCom.run("import anylogic_test"); // 导入你的 Python 模块Attempt attempt = pyCom.run("anylogic_test.get_result()"); // 获取返回值并转为字符串
int feedbackStr = pyCom.runResults(int.class,"anylogic_test.get_result()"); //分配浮点型数据
if (attempt.isSuccessful()) {traceln("attempt.getFeedback"+attempt.getFeedback());traceln("Python 返回的值是:" +feedbackStr);
} else {traceln("Python 执行出错:" + attempt.isSuccessful());
}	

设计了X+Y求值的程序,X和Y值是在手动输入
拖拽了一个文本编辑框按钮,在行动中设置如下程序

// Step 1: 从 Edit Box 获取用户输入的值
String inputStr1 = editBoxX.getText();int javaX;try {// 转换为整数javaX = Integer.parseInt(inputStr1);
} catch (NumberFormatException e) {traceln("❌ 输入不是有效的整数,请重新输入!");return;
}

对输入的X值和Y值进行求和,完成代码如下:

// Step 1: 导入模块
pyCom.run("import anylogic_test");// Step 2: 设置你想传给 Python 的值
// int javaX = 10; 
// 或者从界面控件(如输入框)获取值
// Step 1: 从 Edit Box 获取用户输入的值
String inputStr1 = editBoxX.getText();int javaX;try {// 转换为整数javaX = Integer.parseInt(inputStr1);
} catch (NumberFormatException e) {traceln("❌ 输入不是有效的整数,请重新输入!");return;
}String inputStr2 = editBoxX1.getText();int javaY;try {// 转换为整数javaY = Integer.parseInt(inputStr2);
} catch (NumberFormatException e) {traceln("❌ 输入不是有效的整数,请重新输入!");return;
}// Step 3: 构建带参数的 Python 语句
String command = String.format("anylogic_test.get_p(%d)", javaX);// Step 4: 执行并获取反馈
Attempt attempt = pyCom.run(command);
int feedbackStrp1 = pyCom.runResults(int.class,"anylogic_test.get_p(%d)", javaX); //分配浮点型数据
int feedbackStrp2 = pyCom.runResults(int.class,"anylogic_test.get_p(%d)", javaY); //分配浮点型数据if (attempt.isSuccessful()) {traceln("Python 返回结果:" + (feedbackStrp1 + feedbackStrp2));
} else {traceln("❌ Python 执行出错:" + attempt.isSuccessful());
}
http://www.dtcms.com/a/250578.html

相关文章:

  • CountDownLatch入门代码解析
  • ELK日志文件分析系统——L(Logstash)
  • Flask 动态模块注册
  • python中的异常处理try-except - else - finally与自定义异常处理
  • 探索数据的力量:Elasticsearch中指定链表字段的统计查询记录
  • 生日悖论理论及在哈希函数碰撞中的应用
  • AndroidMJ-mvp与mvvm
  • ASR语音转写技术全景解析:从原理到实战
  • 人工智能学习21-Pandas-pivot_table
  • 关于MCU、MPU、SoC、DSP四大类型芯片
  • 基于区块链的去中心化身份验证系统:原理、实现与应用
  • 【软测】接口测试 - 用postman测试软件登录模块
  • GDI+ 中与GDI32取图形区域函数对比CreateEllipticRgn/CreatePolygonRgn
  • day31 打卡
  • 茶文化部分答案
  • 数据库学习(六)——MySQL事务
  • Linux文件权限管理核心要点总结
  • 【图片转 3D 模型】北大·字节跳动·CMU携手——单图15 秒生成结构化3D模型!
  • 精准测量 MySQL 主从复制延迟—pt-heartbeat工具工作原理
  • 8088单板机8259中断的软件触发测试
  • Python全栈开发:前后端分离项目架构详解
  • 如何让 VS Code 仅通过滚轮放大字体,而不缩放整个界面?
  • 人工智能学习15-Numpy-花式索引和索引技巧
  • 齐次变换矩阵相乘的复合变换:左乘与右乘的深度解析
  • 思科交换机远程登录配置
  • 免费电子印章生成工具,可在线设计印章
  • Fast API 中的用户认证:深入理解 JWT(JSON Web Tokens)
  • 【北京迅为】iTOP-4412精英版使用手册-第二十一章 延时函数专题
  • Javascript什么是原型和原型链,八股文
  • 单片机 - STM32F407 ADC 模式详解:单次转换、连续转换、扫描模式、非扫描模式