@ru_python

Страница 4396 из 9768
Maxim
15.12.2017
16:49:55
x[i]= ... меняет массив array
Так x - это копия моего массива... Разве нет?

Alex
15.12.2017
16:51:14
Нет. Обьекты не копируются просто так. Копируются только значения типа int и типо того

Maxim
15.12.2017
16:52:00
А как тогда? Использовать метод copy?

Google
Tigran
15.12.2017
16:53:08
int не копируются, они просто immutable

Alex
15.12.2017
16:53:14
Правильным решением было бы наполнить новый массив. На счет копи не подскажу

Tigran
15.12.2017
16:53:25
my_copy = list(my_array)

или my_copy = my_array[:]

Maxim robox
15.12.2017
16:54:45
Или метод .copy

Maxim
15.12.2017
16:55:18
int не копируются, они просто immutable
Почему не копируются? У меня всё заработало с методом copy

Tigran
15.12.2017
16:56:04
Ну, в смысле, копирования не происходит

Alex
15.12.2017
16:56:06
int не копируются, они просто immutable
Иммутабл это что? Звучит как неизменяемый, инт нельзя изменить чтоли?

b0g3r
15.12.2017
16:56:16
нельзя

Tigran
15.12.2017
16:56:28
Ну то есть когда ты делаешь a = 5 а потом a = 7, то это не внутренности a меняются, а ссылка

Maxim robox
15.12.2017
16:56:50
У инта нету метода «стань четверкой». Можно только переопределить другим интом.

Google
Tigran
15.12.2017
16:57:04
Поэтому, в свою очередь, когда ты делаешь a = 5777, а потом b = a, то получаешь a is b == True

b0g3r
15.12.2017
16:57:08
In [1]: a = 5 In [2]: id(a) Out[2]: 1928517488 In [3]: a += 5 In [4]: id(a) Out[4]: 1928517568 In [5]: b = [] In [6]: id(b) Out[6]: 107256808 In [7]: b.append(5) In [8]: id(b) Out[8]: 107256808

Maxim robox
15.12.2017
16:57:34
Tigran
15.12.2017
16:57:38
кстати, такое поведение можно переопределить для кастомных объектов?

b0g3r
15.12.2017
16:57:46
оно на уровне языка сделано, вроде бы

Tigran
15.12.2017
16:58:15
вот это жестоко

Maxim robox
15.12.2017
16:58:57
А еще с интами до 256 интересная штука.
a = 200 b = 200 a is b // True a = 300 b = 300 a is b // False

Tigran
15.12.2017
16:58:57
А еще с интами до 256 интересная штука.
И не только! >>> a = 258; b = 258 >>> a is b True >>> a = 257 >>> b = 257 >>> a is b False

b0g3r
15.12.2017
16:59:54
неа

просто в одной строке читерит :)

Maxim robox
15.12.2017
17:00:10
А.

Maxim
15.12.2017
17:00:21
А если у меня в массиве over 100 000 эллементов, например, а я ещё создаю такой же ... Как-то не очень красиво получается

Maxim robox
15.12.2017
17:01:01
У нас тут, похоже, преждевременная оптимизация!

b0g3r
15.12.2017
17:01:09
?

шайтан, ты как это сделал

Maxim robox
15.12.2017
17:02:09
Google
b0g3r
15.12.2017
17:02:33
ipython шалит похоже

>>> a = 10000; b = 10000 >>> a is b True в обычном питоне работает

видимо айпитон самолично разбивает по строкам - чтоб выводить эксепшены более приятненько, видимо

Tigran
15.12.2017
17:03:45
хехе

У нас тут, похоже, преждевременная оптимизация!
Максим, у нас оптимизация, возможно, преждевременная. По профилировщикам!

b0g3r
15.12.2017
17:05:21
Эт не иде, это ipython

Tigran
15.12.2017
17:07:13
Боян же
Не боян, а классика

Nikolay
15.12.2017
17:15:46
И в стикеры

b0g3r
15.12.2017
17:16:43
@JRootJunior, стикерпак

К
15.12.2017
17:57:59
Привет, помогите с решением задачи. она простая для вас

писала в begginners, но для них задача оказалась супер простой, что они меняпослали

может вы поможете

или подскажите



Условие

Мой код

a = int(input()) sum = 0 i = a while i !=0: int(input()) sum += int(input()) if i == 0: print (sum)

Google
К
15.12.2017
17:59:49
Я никак не соображу, в чем ошибка

Tigran
15.12.2017
18:00:07
в первой строке

и во многих других строках

К
15.12.2017
18:00:35
Где именно?

Tigran
15.12.2017
18:00:43
а не, по одному числу в строке же

К
15.12.2017
18:01:03
Я учусь по курсу от степи орг. Они объясняют на супер простых примерах, а задачи вот такие(

Tigran
15.12.2017
18:01:33
Давай учиться дебажить. Во-первых, почему ты вообще считаешь, что ошибка есть?

Admin
ERROR: S client not available

Сергей
15.12.2017
18:02:27
Лучше не так.. Расскажи нам что происходит в каждой строке..

К
15.12.2017
18:02:36
Эмм секунду

Alex
15.12.2017
18:03:26
Да. Дебаггер в руки. Нармальная тема

К
15.12.2017
18:03:47
Ну в первой ввод пользователем целого числа, затем цикл открывается с условием, опять ввод числа и его прибавление к sum. Ну и если введённое число равно нулю, то просто пишется итоговая сумма

Давай учиться дебажить. Во-первых, почему ты вообще считаешь, что ошибка есть?
Ну я думаю, что условие if неправильно написано, да и цикл не закрыт. Хотя по курсу break ещё не проходили, значит надо как-то без него сделать

Сергей
15.12.2017
18:05:54
Tigran
15.12.2017
18:05:54
Лучше не так.. Расскажи нам что происходит в каждой строке..
А я вот как раз считаю, что это ты не с той стороны заходишь.

К
15.12.2017
18:06:03
Ты думаешь, что есть ошибка? А может, её нет и ты зря ищешь?
запускаю код,ввожу неск чисел, потом 0 и итоговая сумма не выводится

Google
Tigran
15.12.2017
18:06:23
запускаю код,ввожу неск чисел, потом 0 и итоговая сумма не выводится
Не выводится, ага. А что происходит вместо этого?

К
15.12.2017
18:06:41
Скорее всего цикл заново запускается

То есть его надо остановить

?

Tigran
15.12.2017
18:06:59
То есть программа не останавливается?

К
15.12.2017
18:07:03
Да

Tigran
15.12.2017
18:07:29
Так. Как насчёт напечатать какую-то информацию на каждой итерации и посмотреть, в какой момент всё идёт не так?

К
15.12.2017
18:07:58
Хорошая идея. Сейчас попробую

Tigran
15.12.2017
18:08:15
Будь готов прервать программу с помощью Ctrl+C (если цикл окажется бесконечным)

Tigran
15.12.2017
18:10:06
Боян же
Вот, а ты говоришь баян

Artem
15.12.2017
18:10:58
Но зачем

К
15.12.2017
18:13:49
Tigran
15.12.2017
18:14:08
Кажется, это онА
Айм сорри ват?

Eldar
15.12.2017
18:14:48
Айм сорри ват?
Ну К у нас девочка/девушка/тетя/бабушка

Tigran
15.12.2017
18:15:14
Eldar
15.12.2017
18:17:57
a = int(input()) sum = 0 i = a while i !=0: int(input()) sum += int(input()) if i == 0: print (sum)
Вдруг у тебя глаза замылились, но зачем тут i?

Tigran
15.12.2017
18:18:30
Ну дайте человеку самостоятельно подебажить

Страница 4396 из 9768