2

私はこれらの回答のうち10個を見てきましたが、答えが見つかりません。間違った質問をしている可能性がありますが、私がやろうとしているのは、fileToDictで作成された辞書を取得し、それをdictValueTotalのパラメーターとして使用して、辞書を取得し、その値を返します (これは 3 番目の関数で使用されます)。はい、これは確かに宿題ですが、私はPythonが初めてで、戻り値を別の関数に渡す方法が本当にわからず、オンラインまたはこれを使用している本で答えを見つけることができないため、理解したいと思いますクラスでカバーしていないため、クラスを作成したくありません(そこで何をしたかを参照してください)。前もって感謝します!

受け取ったエラー: 最初に定義されたグローバル変数 'd' を取得していなかったので、 Dictionary = fileToDict("words1.txt") 行を追加しましたが、今はエラー TypeError: 'builtin_function_or_method' object is not iterable を取得しています

私のwords1.txtが次のようになっていて、各文字列/整数が別の行にあることをほとんど忘れていました:231049254

cat 120935
hat 910256
free 10141

one 9503490
we 102930
was 20951
#

going 48012
to 1029401
program 10293012
    he 5092309

そして、これはそれを操作するコードです:

import sys

def dictValueTotal (dictionary):
    """dictValueTotal takes in a dictionary and outputs the sum of all the values of the different keys in the input dictionary"""
    valueTotal = sum(dictionary.values)
    return valueTotal


def fileToDict (inFile):
    """takes a name of a file as input and outputs a dictionary containing the contents of that file"""
    fileIn = open(inFile, "r")           #Open a file
    d = {}                           #create a dictionary
    for line in fileIn:
            line = line.strip()          #remove whitespace
            if line == "":               #disregard empty strings
                    continue
            if line[0] == '#':           #disregard lines starting with #
                    continue
            print line                   #debugging purposes
            line = line.split()          #remove duplicated spaces
            print line                   #debugging purposes
            line[1] = int(line[1])
            print line                   #debugging purposes
            key = line[0]
            value = line[1]
            d[key] = value
    print d
    return d
def main():
    fileToDict("words1.txt")
    dictionary = fileToDict("words1.txt")
    dictValueTotal(dictionary)


main()
4

1 に答える 1

5

values方法です。あなたはそれを呼び出す必要があります。を使用しdictionary.values()(括弧に注意)、 を使用しないでdictionary.valuesください。

于 2013-03-13T23:46:10.327 に答える