【问题标题】:"None" print at end of python code\"None\" 在 python 代码末尾打印
【发布时间】:2023-02-05 10:36:05
【问题描述】:

我正在尝试让 python 程序获取 .dat 文件并将其读入矩阵。我大部分时间都在使用它,但是“无”在语句末尾继续打印。

import sys

def main():

  matrix = generateMatrixFromFile(sys.argv[1])

  print(printMatrix(matrix))

def generateMatrixFromFile(fname):
  fp = open(fname, "r")
  row = fp.readlines()
  matrix = []
  for i in range(0, len(row), 1):
    token = row[i].split(" ")
    token[-1] = token[-1].replace('\n', '')
    matrix.append(token)
  fp.close()
  return matrix

def printMatrix(matrix):
  for i in range(0, len(matrix), 1):
    for j in range(0, len(matrix[i]), 1):
      print(matrix[i][j], sep=" ", end=" ")
    print()

main()

【问题讨论】:

    标签: python matrix


    【解决方案1】:

    这一行:

    print(printMatrix(matrix)) 
    

    正在打印函数的返回值,即None

    只需调用 printMatrix(matrix) 即可得到预期的结果。

    【讨论】:

    • 您是说在我的 Main 函数中,我需要去掉整个 print 函数,还是只去掉 print 关键字?
    • 在您的主要功能中,将 print(printMatrix(matrix)) 更改为 printMatrix(matrix)
    【解决方案2】:

    删除此行的 print

    print(printMatrix(matrix))
    

    有了它,Python 就会打印出printMatrix 的返回值,即None

    【讨论】:

      【解决方案3】:

      您的方法 printMatrix(matrix) 不返回任何内容 (None),您在其上调用打印 (print(printMatrix(matrix)))

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-16
        相关资源
        最近更新 更多