从包含数字的文件生成二维列表的函数

时间:2011-02-21 23:36:01

标签: python

编写一个函数table(),它接受一个表示文件名和数字n的字符串的参数。该函数应该打开并读取相应文件的内容。该文件将包含一行,其中n * n个数字由空格分隔。函数table()应创建并返回包含n * n个数字的nxn二维列表,如下所示:表的第一行将包含前n个数字,第二行将包含下n个数字,依此类推直到第n行。下面显示了在文件data1.txt和data2.txt上运行时应显示的table()。

  
    
      

table('data1.txt',3)

    
  

[['3','4','5'],['6','7','8'],['9','10','11']]

  
    
      

table('data2.txt',4)

    
  

[['3','4','5','6'],['7','8','9','10'],['11','12',' 13','14'],['15','16','17','18']]

显然是一个家庭作业问题,所以没有答案,只是指示帮助我开始。我不知道从哪里开始。

3 个答案:

答案 0 :(得分:2)

我假设当你说“没有答案”时,你的意思是没有代码。

  • 打开文件。
  • 阅读命令行参数(n)。
  • 创建一个列表(x)。
  • 输入循环,执行n次。
    • 从文件中读取n个条目到另一个列表(y)(可能是一个子循环)。
    • 将列表y添加到列表x

将事情分解为单独的小目标通常会使任务变得更容易。

答案 1 :(得分:1)

首先,此页面显示reading a file.的一些方法当您读取文件的一行时,您将返回一个字符串。查看methods,可以轻松将该字符串分解为n个部分。最后,您需要了解如何操作列表this tutorial will help.

答案 2 :(得分:0)

指针:创建一个n * n大小的矩阵,使用从0n-1的两个嵌套for循环,并按顺序读取每个元素到[i][j],其中i是外循环中的迭代器和内循环中的j