Я составил небольшую программу, которая должна отсортировать массив А по возростанию(или убыванию решает пользователь), найти все четные числа в исходном массиве А. Однако, на каком-то моменте исходный массив А изменяется, хотя я вроде не присваиваю ему новых значений.
Подскажите, пожалуйста, почему так происходит.
P.s: подскажите как сделать спойлер)
Код:
# -*- coding: cp1251 -*- import random def choise (str1, str2, str3): print(str1 + str2 + str3) f = False while f != True: auto=str(input()) if auto == "1" or auto == "0": f=True else: print("Ты идиот? Ответь 1 или 0 уже...") return (auto) #сортирурует массив по убыванию def sort (a, n): maxa = 0 temp = a[0] b = a i = 0 while i <= n-1: j = i+1 while j <= n-1: if b[i] < b[j]: temp = b[i] b[i] = b[j] b[j] = temp j = j+1 i = i+1 print(b) return(b) #переворачивает массив def flip (*args): b = [0]*n for i in range(n): b[i] = a[n-1-i] return (b) print("Здравствуйте! Данная программа . Пожалуйста, используйте только ЦЕЛЫЕ НАТУРАЛЬНЫЕ числа!") print("-----------------------") print("Введите кол-во строк исходного массива А, i=") n = input() a = [0] * n temp = choise("Сгенерировать массив?", " (Да-1", ", Нет-0)") if temp == "1": i = 0 while i <= n - 1: a[i] = random.randint(0, 15) i = i + 1 elif temp == "0": i=0 while i<=n-1: print ("Введите А["+str(i+1)+"]:") a[i]=input() i = i + 1 print("Исходный/Построенный массив:") print(a) #СОРТИРОВКА МАССИВА temp = choise("Как Вы желаете отсортировать массив:", " (По возр-1", ", По убыв.-0)") if temp == "1": b = flip(sort(a, n), n) print("Массив отсортирован по возрастанию:") elif temp == "0": b = sort(a, n) print("Массив отсортирован по убыванию:") print(b) #############################################Меняется значение а print("------------------------------------") print(a) print("------------------------------------") #НАХОЖДЕНИЕ ЧЕТНЫХ print("Четными элементами в массиве являются:") b = [0]*n j=0 for i in range(n): if a[i] % 2 == 0: b[j] = a[i] j=j+1 print(b[0:j])