Доступ к ранее возвращенному значению - Python3.2 - PullRequest
2 голосов
/ 13 января 2012

Я некоторое время пытался получить доступ к своему недавно возвращенному значению и использовать его в операторах if без необходимости вызова значения.

По сути, у меня есть цикл while, который вызывает функцию, которая позволяет пользователю вводить данные, а затем возвращает ввод обратно в цикл.

while selection() != 0: ## Calls the "WHAT WOULD YOU LIKE TO DO" list and if it is 0 quits the script
    input() ## just so it doesn't go straight away
    if selection.return == 1: ## This is what I would like to happen but not sure how to do it... I've googled around a bit and checked python docs

Посмотри, если я поставлю:

if selection() == 1:

это будет работать, но отобразит текст «ЧТО ВЫ ХОТИТЕ СДЕЛАТЬ» снова ...

Извините, если это очевидное решение, но помощь будет очень признательна :)

Ответы [ 2 ]

8 голосов
/ 13 января 2012

Вот почему вы должны хранить результат в переменной, чтобы вы могли ссылаться на него в будущем.Что-то вроде:

sel = selection()
while sel != 0:
    input()
    if sel==1:
        ...
    sel = selection()
3 голосов
/ 14 января 2012

Это просто альтернатива опубликованному ответу (слишком неудобно добавлять комментарии), но, пожалуйста, не меняйте свой ответ :) Нравится ли вам это или нет, это выбор предпочтений, но я например, не нужно повторять строку входного источника, хотя она «запотевает» условие цикла:

while True:
    sel = selection()
    if sel == 0: # or perhaps "if not sel"
        break
    input()
    if sel == 1:
        ...

Удачного кодирования.

...