2016-11-05 2 views
-2

Привет, хочу вернуть значение после цикла. Мой код -Возвращаемое значение в Python для Loop

def asd(): 
    data.append("a") 
    data.append("b") 
    for i in range(0,2): 
     value = data[i] 
     return value 

Я ожидаю, чтобы вернуться А и Б при вызове функции, но она возвращается только б. Есть ли другой метод. Заранее спасибо

+0

Так что, если я пишу 'ответа = ASD()', то 'ответ == («а» , "b") 'должно быть правдой? – chepner

+0

Нет возвращаемого значения: answer = "b". Но я хочу, как вы заявили. –

ответ

1

Если у вас есть очень неотложная причина делать вещи таким образом, этот пример может быть упрощен

def asd(): 
    return 'a', 'b' 
+0

В реальном приложении почти наверняка будет больше. Мы просим людей опубликовать минимальные примеры, демонстрирующие проблему, не наказывайте его за то, что не оставили лишних деталей. – Barmar

+0

Cmon человек. Вы знаете, что это не то, что он хочет;) –

+0

Спасибо за ваш быстрый ответ. Но его нехорошо действовать сверхмарт. У меня было условие, когда append находится вне функции, но мне нужны оба значения для печати «в цикле», а не вместе. Спасибо за поддержку. –

1

Это не ответ, но это поможет вам найти вашу ошибку.

= является оператором присваивания. Значение, указанное за =, назначается переменной перед ним, например. a = 3 означает, что в настоящее время несет в себе значение 3.

Теперь два простых вопросов

a=3 
a=5 
print a 

Какое значение печатается?

Аналогично,

for i in range(100): 
    a = i 
print a 

Какое значение печатается?

+0

Вы несколько объяснили, почему его программа не работает. Собираетесь ли вы дать ему какой-либо намек на то, как делать то, что он на самом деле хочет? – Barmar

+1

@ Бармар: Если бы я знал, что он хочет, я мог бы дать подсказку. В принципе «возвращаемых данных» было бы достаточно, но поскольку он добавил цикл, не сообщая нам, что должен делать цикл, ему нужно будет найти решение для себя. – ImportanceOfBeingErnest

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