Прежде всего, ваш
loop = 0
строка бессмысленна. Вы можете видеть, что это никогда не используется снова.
print eval(usrinput)+sentence
Я вижу, что вы пытаетесь достичь, печатая hellosentence, как в переменной. Однако это не работает так. Использование eval () ничего не делает для вас, поэтому представьте, что вы пишете
print usrinput+sentence
Это не вывело бы значение любой переменной, имеющей то же начало, что и usrinput, и конец предложения. Это напечатало бы значение usrinput и затем напечатало бы значение предложения. Поскольку у вас нет переменной предложения, вы получаете ошибку, потому что значение предложения не существует.
Скажите, что пользователь ввел "привет", когда его попросят ввести. Строка печати не будет печатать значение hellosentence, но будет печатать «hello», а затем возникнет ошибка, потому что предложение не существует. По сути, вы не можете относиться к этому как к чисто английскому, потому что у вас может быть что-то вроде этого:
pretzel = "apple"
print pretzel
Это напечатает слово «яблоко», а не «крендель». Если вы этого не понимаете, я настоятельно рекомендую вам прочитать о переменных и присваиваниях.
Вы должны проверить значение usrinput.
if usrinput = "hello":
print hellosentence
Ваша переменная конца в последней строке вашей программы ничего не делает, так как вы просто присваиваете значение end. Попробуйте проверить значение end, как мы сделали с usrinput.
Похоже, вы неправильно понимаете, как на самом деле выполняется программа. Я бы порекомендовал прочитать о переменных и присваивании.