我有一个非常基本的问题,我编写了一个代码来打开一个包含数字1 2 3 4 5 6 7 8 9的.txt文件,然后将其全部平方并写入其他文件。
现在,我想添加到此代码过程中,该过程将所有这些数字分成几行并重写,如下所示:

1 4 9
16 25 36
49 64 81


我的代码已经:

n=[]
dane = open("num.txt", "r")

for i in dane:
  i = i.replace('\n','')
  for j in i.split(' '):
        j = int(j)
        j = j**2
        n.append(j)

nowy = open("newnum.txt","w")
nowy.write(str(n))
nowy.close()

最佳答案

您编写的代码对编写部分的要求很好。为此,您需要将最后三行代码更改为

nowy = open("newnum.txt","w")
for i in range(0,len(n),3):
    nowy.write("{} {} {}\n".format(n[i],n[i+1],n[i+2]))
nowy.close()


for循环可以解释为:


通过使用n函数的第三个参数(称为step),循环遍历一次生成3的列表range
一次将三个值写到文件中,以换行符终止


更改代码行后的输出符合预期

1 4 9
16 25 36
49 64 81


参考:


format
range

关于python - 按行拆分数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29328070/

10-11 03:57