You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Python实现生命游戏网格转字符串的代码问题

生命游戏网格转字符串问题修复

原代码存在的核心问题

  • 错误使用input()函数:这会强制要求用户输入数据,而非直接处理传入的grid参数
  • 单元格转换为符号后,未将符号追加到结果字符串中
  • 换行符未整合到最终字符串,而是在循环内提前打印,导致结果不完整
  • 初始化的mystr带多余空格,会破坏网格格式
  • 测试用的lifeGrid变量和函数调用代码被嵌套在函数定义内部,永远不会被执行

修正后的代码

def gridToString(grid):
    # 初始化空字符串,无多余空格
    mystr = ''
    
    for row in grid:
        # 处理当前行的每个单元格
        for cell in row:
            # 根据单元格值转换为对应符号
            if cell == 0:
                mystr += '+'
            elif cell == 1:
                mystr += 'O'
        # 每行处理完后添加换行符
        mystr += '\n'
    
    # 返回最终的网格字符串
    return mystr


# 测试用的生命游戏网格
lifeGrid = [
    [1,1,1],
    [0,0,0],
    [0,0,1]
]

# 转换并打印结果
gridStr = gridToString(lifeGrid)
print(gridStr)

关键修正说明

  1. 移除所有input()调用:直接遍历传入的grid数据进行处理
  2. 将转换后的符号直接追加到mystr:确保每个单元格的符号都被加入结果
  3. 每行处理完成后添加\n:保证网格按行分隔,形成三行结构
  4. 初始化mystr为空字符串:避免首行开头出现多余空格
  5. 将测试代码移到函数外部:确保函数能被正确调用并执行测试

运行修正后的代码,会输出符合要求的三行网格:

OOO
+++
++O

内容的提问来源于stack exchange,提问作者TRNF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 23:25:14