2015-02-16 2 views
0

Итак, я делаю свою собственную игру MadLibs и столкнулся с проблемой. Например, когда пользователю предлагается ввести существительное, но вместо этого он вводит глагол или наречие и т. Д. Я хочу, чтобы моя программа подхватила это и попросила их ввести другое слово, поскольку это слово не соответствует критериям. Как мне это сделать? Это то, что я до сих пор:Проверьте, является ли вход подходящим существительным

while True: 
    name1 = input("A male name (protagonist): ") 
    if name1.endswith (('ly', 's')): 
     print("Sorry mate, this doesn't seem to be a proper noun. Try it again.") 
     continue 
    break 

Но я хотел бы, чтобы выйти вдоль линий этого:

A male name (protagonist): sandwich 
Sorry mate, this doesn't seem to be a proper noun. Try it again. 
A male name (protagonist): Bob 

Как сделать это признать существительные, наречия и т.д. без меня вручную набрав его?

+0

Добро пожаловать в переполнение стека! Похоже, вы хотите, чтобы мы написали вам код. Хотя многие пользователи готовы создавать код для кодера, терпящего бедствие, они обычно помогают только тогда, когда плакат уже попытался решить проблему самостоятельно. Хорошим способом продемонстрировать это усилие является включение кода, который вы написали до сих пор, пример ввода (если он есть), ожидаемый вывод и вывод, который вы фактически получаете (вывод консоли, трассировки стека, ошибки компилятора - все, что угодно применимо). Чем больше деталей вы предоставите, тем больше ответов вы получите –

+0

Хорошо, это то, что у меня есть до сих пор: while True: name1 = input («Мужское имя (главный герой):») if name1.endswith (('ly', 's')): print («Извините, это не похоже на правильное существительное. Повторите попытку».) continue break –

+0

Возможный дубликат [Как зацикливать на Python 3.4.2?] (Http://stackoverflow.com/questions/28533622/how-to-loop-on-python-3-4-2) –

ответ

0

То, что вы ищете, это Natural Language Processing mate. Вы должны определить, какая часть речи - это слово &, тогда вы можете пометить его. Поле НЛП - это огромный комплекс &, поэтому попробуйте исследовать самостоятельно &, вы можете найти какое-то решение. Но я думаю, что нет прямого способа сделать это в Python. Python - это язык программирования. Хотя вы можете использовать некоторые инструменты, которые могут помочь вам пометить POS, например Tree tagger &, попробуйте интегрировать их в ваше приложение.

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