簡體   English   中英

如果我將 f 字符串存儲在 for 循環內的變量中,該變量是否會獲取 for 循環內的所有值?

[英]If I store an f-string inside a variable inside a for loop, will the variable pick up all the values inside the for loop?

我需要根據客戶在文本文件上的訂單打印“收據”。 但是當我執行此操作時,只顯示最后一個訂單,而不顯示其余訂單。 我應該怎么辦?

with open("receipt.txt", "w") as file:
        header = '''
        ==
        CODE\t\t\tNAME\t\t\tQUANTITY\t\t\tSUBTOTAL
        '''
        orders_list = sorted(orders_list, key=lambda k: k['code']) 
        
        for order in orders_list:
            order_code = order['code']
            order_name = products[order_code]["name"]
            order_qty = order['qty']            
            order_subtotal = order['subtotal']

            body = f"{order_code}\t\t{order_name}\t\t{order_qty}\t\t\t{order_subtotal}\t\t"

        lower = f'''
        
        Total:\t\t\t\t\t\t\t\t\t{total}
        ==
        '''
        
        receipt = header + body + lower
        file.write(receipt)

您在每次迭代時覆蓋body的先前值。 您需要將它初始化為一個空字符串,然后在循環內附加到它。

暫無
暫無

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

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