Как правильно вернуть список обратно в мою функцию main () - PullRequest
0 голосов
/ 23 апреля 2019

После передачи обновленного списка обратно в мою функцию main () список из моей функции не сохраняется, и он просто печатает исходный список до того, как он был изменен моей функцией. Кажется, он отлично работает для других функций в моей программе, но не для этой.

Вот код для сдвига списка вправо на один

def shiftRight(data):
    data=[data[-1]]+data[:-1]
    print(data)
    return data

Вот вызов функции в моем main ()

def main():
    data = list(ONE_TEN)
    shiftRight(data)
    print("After shifting right: ", data)

вывод:

[10, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
After shifting right:  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Первая строка представляет собой ожидаемый результат и выводится непосредственно из функции. Вторая строка - это вывод оператора print () в main () после вызова функции. Мне не разрешено изменять функцию main () как часть моего назначения, поэтому я немного озадачен тем, как действовать дальше. У меня есть около 10 функций, которые возвращают данные, и только 8 из них работают, как задумано.

Спасибо!

1 Ответ

0 голосов
/ 23 апреля 2019

В вашем основном вы должны поймать вывод функции, см. Пример ниже:

data = list(ONE_TEN)
data = shiftRight(data) # here data is overwritten by data from shiftRight function
print("After shifting right: ", data)
...