Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python不断返回断言错误,但我可以’;我不知道哪里出了错_Python - Fatal编程技术网

Python不断返回断言错误,但我可以’;我不知道哪里出了错

Python不断返回断言错误,但我可以’;我不知道哪里出了错,python,Python,问题是:编写一个函数count_unique_lines,它将一个支持读取的打开文件对象文件作为输入,并返回文件的不同行数。例如,如果names.txt包含以下行 爱丽丝 上下快速移动 凯撒 上下快速移动 使用open('names.txt')获取文件,然后count_unique_行(文件)应计算为3。 您可以假定每行的最后一个字符是换行符“\n”。不要试图使用函数open或调用file的close方法 我的代码: def count_unique_lines(file): coun

问题是:编写一个函数count_unique_lines,它将一个支持读取的打开文件对象文件作为输入,并返回文件的不同行数。例如,如果names.txt包含以下行 爱丽丝 上下快速移动 凯撒 上下快速移动 使用open('names.txt')获取文件,然后count_unique_行(文件)应计算为3。 您可以假定每行的最后一个字符是换行符“\n”。不要试图使用函数open或调用file的close方法

我的代码:

def count_unique_lines(file):

    count = 0
    D= {}
    for line in file:
        if line in D: 
            continue 
    D[line] = True 
    count += 1
    return count

我不断收到一个错误,但无法找出哪里出了问题:(

您可以拥有一个只需两行代码的函数:)

假设您有一个名为pie.txt的文件 其中包含以下行

覆盆子
巧克力
芒果
凯莱姆
波塔托
果馅饼
覆盆子
芒果


然后您可以编写如下方法:

def count_unique_行(文件):
lines={line.strip()用于打开(文件)中的行}
返回len(行)

当您启动时,将返回以下内容:

计数唯一行('pie.txt')
6.

这真的是一个大写的
C
继续
?另外,请适当缩进代码。不,在我的实际代码中,它不是大写的C。我没有注意到,它在这里大写了。不确定,它是否仍然正确缩进:/a还有,错误是什么。请用问题粘贴回溯