Ниже приведен вопрос из списка изучения 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
Мобильная версия