如何使用列表中的循环(列表包括字符串和变量)Python3在同一行中输出结果?

2024-04-25 04:23:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我将这5个变量分配给5个不同列的总和:

TotalUnitsSold = mmSalesDF['Units Sold'].sum()
TotalUnitsCost = mmSalesDF['Unit Cost'].sum()
TotalRevenue = mmSalesDF['Total Revenue'].sum()
TotalCost = mmSalesDF['Total Cost'].sum()
TotalProfit = mmSalesDF['Total Profit'].sum()

我需要使用append将其写入一个新的txt文件,因此我创建了一个包含字符串和变量的列表[]:

sumsList = ['Sums:', 
            'Units sold:',TotalUnitsSold, 
            'Unit cost:',TotalUnitsCost, 
            'Total revenue:',TotalRevenue, 
            'Total cost:',TotalCost,
            'Total profit:',TotalProfit]
with open('DataSample/MM_Calc.txt', "a+") as writer:
    for line in sumsList:
        writer.write(f'{line}\n')

以下是输出: Output

但所需的格式应如下所示: Required format

所以我想知道到底有没有办法做到这一点


3条回答
sumsList = ['Sums:', 
            'Units sold:',TotalUnitsSold, 
            'Unit cost:',TotalUnitsCost, 
            'Total revenue:',TotalRevenue, 
            'Total cost:',TotalCost,
            'Total profit:',TotalProfit]

您将它们全部列为项目,而不是行

for line in sumsList:

当你像这样循环它时,它会在每一行后面打印一个换行符

如果您只想使用列表并在同一行中像键值一样打印,请尝试这样做

sumsList = ['Sums:', 
            'Units sold: ' + str(TotalUnitsSold), 
            'Unit cost: ' + str(TotalUnitsCost), 
            'Total revenue: ' + str(TotalRevenue), 
            'Total cost: ' + str(TotalCost),
            'Total profit: ' + str(TotalProfit)]

按以下方式设置列表格式:

sumsList = ['Sums:', 
            'Units sold: ({})'.format(TotalUnitsSold), 
            'Unit cost: ({})'.format(TotalUnitsCost), 
            'Total revenue: ({})'.format(TotalRevenue), 
            'Total cost: ({})'.format(TotalCost),
            'Total profit: ({})'.format(TotalProfit)]
    TotalUnitsSold = 5
    TotalUnitsCost = 600
    TotalRevenue = 60
    TotalCost = 5000
    TotalProfit = 100

    sumsList = ['Sums:',
                'Units sold: ' + str(TotalUnitsSold),
                'Unit cost: ' + str(TotalUnitsCost),
                'Total revenue: ' + str(TotalRevenue),
                'Total cost: ' + str(TotalCost),
                'Total profit: ' + str(TotalProfit)]
    with open('MM_Calc.txt', "w+") as writer:
        for line in sumsList:
            writer.write(f'{line}\n')

    #output:
    Sums:
    Units sold: 5
    Unit cost: 600
    Total revenue: 60
    Total cost: 5000
    Total profit: 100

相关问题 更多 >