创建一个函数,它包含一个元组列表,其中每个元组有两个元素

问题描述:

第一个元素是客户名称(字符串),第二个元素是该客户月份的总账单(浮动)。该功能的目的是处理这个列表中,使用以下模板创建“结算电子邮件”为每一个客户:创建一个函数,它包含一个元组列表,其中每个元组有两个元素

'Dear {},\n\nYou owe ACME Corp ${:.2f}.\n\nBest,\nACME Corp' 

函数应该返回这些产生emails.It的列表应该被命名为“generate_billing_emails”。输入应该叫“CUSTOMER_DATA”

test_data = [("Wile E Coyote", 345.67), ("Bugs Bunny", 25.49), ("Foghorn Leghorn", 68.00), ("Tweety", 5.99)] 

billing_emails = generate_billing_email(test_data) 

for billing_email in billing_emails:   
    print("{}".format(billing_email)) 
    print("\n\n--------") 

到目前为止我的代码:

def generate_billing_email(test_data): 
    billing_emails = 'Dear {},\n\nYou owe ACME Corp ${:.2f}.\n\nBest,\nACME Corp' 
    return billing_emails 
+3

你的教师必须在课堂上的东西已经提及'for'循环和字符串'format'方法。 – John1024

+0

他做了,但因为有一个浮点数和字符串而感到困惑 –

+0

@RayHarlequin在某些语言中,区分浮点数和字符串很重要。 Python不是其中的一种语言。在这个问题中,唯一的地方就是格式字符串,你的教师已经为你提供了一个很好的使用'{:,。2f}'来很好地格式化浮点数的函数。 – John1024

要怎么做你想做,你必须循环虽然你的数据使用一个for循环。而且,您可以通过传入参数来使用格式化函数。有没有必要,如果您使用浮点,字符串,整数,等来告诉Python ...

这里的我会怎样重新写你的函数:

def generate_billing_email(test_data): 
    emails = [] 
    for tupe in test_data: 
     emails.append("'Dear {0},\n\nYou owe ACME Corp ${1}.\n\nBest,\nACME Corp'".format(tupe[0], tupe[1])) 
    return emails