簡體   English   中英

如何將python中for循環的多個輸出保存到文本文件?

[英]How to save multiple outputs from a for loop in python to a text file?

我正在嘗試將 for 循環的輸出及其相應的變量保存在一個文本文件中。 但是,當我執行以下操作時,我只會將最后一行作為輸出。

a = [1,2,3,4]
    
b = [4,5,6,7]

c = [5]

file=open("my_output.txt", 'a')

for i, j in zip(a, b):
    z = (i**2)*j+c[0]
    print (z)
    z = str(z)
    
file.write(z + "\n")
file.close()

我的輸出:

117

我在找什么:

a,b,c,z
1,4,5,9
2,5,5,25
3,6,5,59
4,7,5,117

將不勝感激任何支持。 先感謝您。

計算 z 的代碼。 然后將 a,b,c,z 寫入文件。

    a = [1, 2, 3, 4]
    b = [4, 5, 6, 7]
    c = [5]
    zs = []
    col = ['a','b','c','z']
    file = open("my_output.txt", 'a')
    for i, j in zip(a, b):
        z = (i ** 2) * j + c[0]
        print(z)
        zs.append([i,j,c[0],z])
    file.write(str(zs))
    file.close()

您的代碼中的問題是您在循環之外編寫代碼,因此只能獲得最后一個值。 在循環內寫入將修復它。

有一個更簡單的方法。 print可以寫入文件:

# python 3.6+

a = [1,2,3,4]
b = [4,5,6,7]
c = [5]

with open("my_output.txt", 'a+') as f:
    print('a,b,c,z', end='\n', sep=',', file=f)
    for i, j in zip(a, b):
        print(f'{i},{j},{c[0]},{(i**2)*j+c[0]}', end='\n', sep=',', file=f)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM