2014-12-01 4 views
3

Итак, мы создали программу распознавания языков в python, которая просто обнаруживает разные языки. Наш код кажется прекрасным; нет ошибки, но я не получаю желаемого результата. Всякий раз, когда я запускаю его на Eclipse, он запускается и заканчивается, давая нам время работы и «ОК». Предполагается напечатать текст написанного текста.код обнаружения языка в python

def compute_ratios(text): 

    tokens = wordpunct_tokenize(text) 
    words = [word.lower() for word in tokens] 

    langratios = {} 

    for language in stopwords.fileids(): 
     stopwords_set = set(stopwords.words(language)) 
     words_set = set (words) 
     common_elements = words_set.intersection(stopwords_set) 

    langratios[language] = len(common_elements) 

    return langratios 

def max_ratio(text): 

    ratios = compute_ratios(text) 

    mostLang = max(ratios , key=ratios.get) 
    return mostLang 

def main(): 

    text = "This is cool" 
    x = max_ratio(text) 
    print(x) 
+0

Для выяснения проблемы нам, вероятно, нужно посмотреть остальную часть кода. – rlms

+1

Вы когда-нибудь на самом деле вызывали * 'main'? – jonrsharpe

+1

Просто общая идея устранения неполадок попробуйте ввести: 'import pdb; pdb.set_trace()' в начале main. Пройдите через код, чтобы узнать, появляется ли что-нибудь интересное. Вы можете использовать 'next' и одну строку при использовании pdb для проверки того, что происходит с передаваемыми переменными. 'help', а в pdb - другие команды. – jmunsch

ответ

3

В отличие от некоторых других языков, main() это так же, как и любой другой функции в Python. Если вы хотите, чтобы он запускался, вы должны его явно называть:

def main(): 
    ... 

main() 
+0

Спасибо. Я не называл главное явно –

Смежные вопросы