私は定義テスターに取り組んでいます (言葉、品詞、それぞれの同義語を入力すると、それらについてテストされます)。私が抱えている問題は、単語を取得する部分にあります:
def get_word(): # this is in another function, that's why it is indented
import easygui as eg
word_info = eg.multenterbox(msg = 'Enter in the following information about each word.'
, title = 'Definition Tester'
, fields = ['Word: ', 'Part of Speech: ', 'Synonyms (separated by spaces): ']
, values = []
)
return word_info
for i in range(n):
my_list = get_word()
print my_list # for testing
word, pOS, synonyms = my_list[0], my_list[1], my_list[2]
word = word.capitalize()
synonyms = synonyms.split(', ')
words_list += word
print word # for testing
test_dict[word] = [pOS, synonyms]
print words_list # for testing
ただし、関数が適用されwords_list
た後の単語list(word)
になります---理由はわかりません。
例: 唯一の単語が 'word' の場合、words_list
になります['w', 'o', 'r', 'd']
。2 つの単語 (「犬」、「猫」) がある場合は、words_list
になります['d', 'o', 'g', 'c', 'a', 't']
。これが私の入力 (へget_word()
の) です: 単語: 'myword'、品詞: 'n'、類義語: 'synonym, definition'。
これは私が得る出力です:
['myword', 'n', 'synonym, definition']
Myword
['M', 'y', 'w', 'o', 'r', 'd'] # Why does this happen?
これが私のプログラムの唯一の問題です...これを修正する方法と何が問題なのかについての意見を得ることができれば、それは大歓迎です。ありがとう!