【问题标题】:Why is my for-loop printing on every other line and not every line?为什么我的 for-loop 每隔一行而不是每一行打印?
【发布时间】:2019-09-19 11:04:12
【问题描述】:

我的功能是:

def draw_map():
    for row in list:
        for tile in row:
            print(tile, end=' ')
        print('\n')

输出是:

                  _ _ _       o

                /       \   O

                \       /

                  ‾ ‾ ‾

输出应该是:

                  _ _ _       o
                /       \   O
                \       /
                  ‾ ‾ ‾

编辑:删除 print('\n') 使输出:

                      _ _ _       o                             /\   O                               \       /          ‾ ‾ ‾

那么为什么 \n 让它每隔一行打印呢?

【问题讨论】:

  • 包含一个完全可重现的示例会很有帮助,这样我们就可以在最后进行测试。 list 这里的值是多少? (另请注意,list 是 Python 中的关键字,因此不应用作变量名。如果您愿意,可以使用类似 my_list 的名称,或者根据列表内容使用更具描述性的名称)
  • 1) list 是一个关键字,你不应该将它用作变量。 2)你应该传递你的列表而不是使用全局变量。
  • 我的代码中不是“列表”,我将其设为“列表”以简化我的问题,对此感到抱歉。

标签: python python-3.x for-loop printing


【解决方案1】:

print 默认有end="\n",所以print("\n") 打印两个 换行符。我想你只是想说print()。

【讨论】:

  • 完美运行,当堆栈溢出时间限制到时我会接受你的回答。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-05
  • 2016-05-16
  • 2016-01-08
  • 1970-01-01
  • 1970-01-01
  • 2016-10-02
  • 2012-07-19
相关资源
最近更新 更多