0
def build_dictionary(infile):  
    count_dict={}  
    for line in infile:  
        line=line.strip()  
        if len(line) and line[0]!="-":  
            lst=line.split(",")  
            lastname=lst[0].strip()  
            for lastname in lst:  
                if lastname not in count_dict:  
                    count_dict[lastname]=1  
                else:  
                    count_dict[lastname]=count_dict[lastname]+1  
                return count_dict  


def main():  
    import os.path  
    while True:  
        try:  
            name1=input("Enter input name:")  
            infile=open(name1,"r")  
            result=build_dictionary(infile)  
            print(result)  
            break  
        except:  
            print("Error in code")  


main()

我有这个程序,我希望它获取一个包含姓氏、名字的文件,取姓氏并查看它们在字典中出现的次数。我唯一的问题是它计算第一个姓氏然后停止,为什么它没有遍历整个字典

4

1 回答 1

0

用这个替换你的 build_dictionary 方法:

def build_dictionary(infile):
    count_dict={}
    for line in infile:
        line=line.strip()
        if len(line) and line[0]!="-":
            lst=line.split(",")
            lastname=lst[0].strip()
            if lastname not in count_dict:
                count_dict[lastname]=1
            else:
                count_dict[lastname]=count_dict[lastname]+1
    return count_dict
于 2012-11-28T16:07:04.757 回答