0

キーと値のペアを含む .csv ファイルがあります。辞書を呼び出して、特定のキーがファイルにあるかどうかを確認しようとしていますが、よくわからないエラーがあります。どんな助けでも大歓迎です!

  def Dictionary(x):

     wDictionary = open('file.csv', 'r')
     for line in wDictionary:
           mylist = line.split(',')


  def main():

     x = input('enter text:')
     cd = Dictionary(x)
     if x in cd:
          print('yes')

  main()

エラー:

Traceback (most recent call last):
     File "7.py", line 15, in <module>
        main()
     File "7.py", line 12, in main
        if x in cd:
TypeError: argument of type 'NoneType' is not iterable
4

2 に答える 2

2

あなたは から戻っていないのでDictionary(x)cdは に設定されていNoneます。したがって、エラー。

他の問題の束: インデントを自分で修正させていただきます。

def Dictionary(x):

     wDictionary = open('file.csv', 'r')
     mylist = []
     for line in wDictionary.readlines():
           mylist.append(line.split(','))
     return mylist


 def main():

     x = input('enter text:')
     cd = Dictionary(x)
     for line in cd:
         if x in line:
             print('yes')

 main()

xまた、何もしていないので、パラメーターを関数に送信する必要はありません。

于 2013-10-10T18:43:39.167 に答える
1

Dictionary(x) には何も返されないため、Python は、cd を反復処理するように要求したときに何をすべきかわかりません。

于 2013-10-10T18:44:36.507 に答える