Pyschools主题13- 2.我做错了什么?

时间:2012-03-13 23:41:34

标签: python

主题13:问题2:创建一个将名称和电子邮件附加到命名文件末尾的函数。

这是我写的代码:

def addEmail(filename, name, email):
    f = open('filename', 'a') 

    f.write("%s\n" % name)
    f.write("%s\n" % email)
    f.close()

    return f

这是我在pyschools网站上获得的输出:

Test Cases                                          Expected Result Returned Result Result
addEmail('email.txt', 'john', 'john@gmail.com').closed  True          True  

Private Test Cases                                   Passed            Failed   

我做错了什么?

2 个答案:

答案 0 :(得分:1)

仔细查看示例输出:

>>> addEmail('emails.txt', 'Mary', 'mary@gmail.com') # content is 'Mary mary@gmail.com\n'
>>> addEmail('emails.txt', 'John', 'john@gmail.com') # content is 'Mary mary@gmail.com\nJohn john@gmail.com\n'

请注意,在该输出中,名称和电子邮件位于同一行,以空格分隔。您将名称和电子邮件分开放在一行。尝试将代码更改为以下内容:

f.write("%s %s\n" % (name, email))

答案 1 :(得分:1)

有一件事是你的文件名在所有情况下都是'filename'。它应该是变量filename,而不是字符串。