2013-12-15 4 views
2

Это мой код, и я просто хочу, чтобы он читал ввод, и если он не пуст, просто верните введенное значение.Ошибка внешней функции

print "Welcome to translator!" 
print "Enter in an english word" 
original=raw_input("Enter a word") 

if len(original) != 0: 
    return original 

ответ

3

Вы можете только return из функции так, что бы производить SyntaxError.

Правильный способ добиться того, чего вы хотите от:

print "Welcome to translator!" 
print "Enter in an english word" 
original = raw_input("Enter a word") 

if original: # Checks if original is not empty 
    print original 

Если вы хотите вернуться из функции:

print "Welcome to translator!" 
print "Enter in an english word" 
original=raw_input("Enter a word") 

def not_empty(string): 
    if string: 
     return string 

print not_empty(original) 
+0

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

+0

@Faraad посмотреть сейчас –

+0

О, хорошо, да, это имеет смысл, и я вижу, почему первый более эффективен. Ну, по крайней мере, я так думаю. –

1

с официального сайта Python:

return может происходить только синтаксически вложенным в определение функции, не входит в определение вложенного класса.

Если список выражений присутствует, он оценивается, иначе None равен .

return оставляет текущий вызов функции списком выражений (или None) в качестве возвращаемого значения.

Когда return передает управление из инструкции try с окончательным предложением , это условие окончательно выполняется до того, как действительно покинет функцию .

В функции генератора оператор return не допускается к включает в себя выражение_list. В этом контексте голый возврат указывает , что генератор выполнен и вызывает остановку StopIteration.

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