Короткий код Python не показывает то, что я ожидалPython

Программы на Python
Ответить
Anonymous
 Короткий код Python не показывает то, что я ожидал

Сообщение Anonymous »

Здравствуйте, коллеги-разработчики!
Ниже приведен вопрос из списка изучения Python.
В вопросе предлагается выбрать один из 5 ответов, о том, какой из них будет выводиться на печать. (v, m, n).
а) [1, 2, 3], [2, 4, 6], [3, 6, 9]
б) [3, 6, 9], [3, 6, 9], [3, 6, 9]
в) [1, 2, 3], [1, 2, 3], [3, 6, 9]
г) [1, 2, 3], [1, 2, 3], [2, 4, 6]
д) [3, 6, 9], [1, 2, 3], [3, 6, 9]
С моей точки зрения новичка, v = [1, 2, 3] и m после запуска f1 (v) также должно быть m = [1, 2, 3] (и при отладке я вижу m как [1, 2, 3] перед нажатием n = f2(v) строка). Тогда n должно быть [3, 6, 9] после запуска f2(v) (из-за m *= 3).
I знаю, что правильный ответ - B, я просто не могу понять, почему.
Хотя это и неправильно, мой мыслительный процесс указывает на [1, 2, 3][1, 2, 3][3, 6, 9] как ответ.

Код: Выделить всё

def f1(v):
for elem in v:
elem *= 2
return v

def f2(m):
for i in range(len(m)):
m[i] *= 3
return m

v = [1,2,3]
m = f1(v)
n = f2(v)

print(v, m, n)
< /code>
Пожалуйста, помогите мне выяснить, почему вывод этого кода Python < /p>
[3, 6, 9]
[3, 6, 9]
[3, 6, 9]
вместо

Код: Выделить всё

[1, 2, 3]
[1, 2, 3]
[3, 6, 9]
Спасибо.


Подробнее здесь: https://stackoverflow.com/questions/780 ... i-expected
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»