Главная страница
Навигация по странице:

  • Массив: 1 2 3 4 5 6 Результат: 6 1 2 3 4 5 «B»

  • Пример: Массив: 1 2 3 4 5 6 Результат: 3 2 1 6 5 4 Задачи

  • Пример: Массив: 20 -90 15 -34 10 0 Результат: 20 15 10 -90 -34 0 Количество положительных элементов: 3

  • Отбор нужных элементов

  • Массив А: -5 6 7 -4 -6 8 -8 Массив B: -4 -6 -8 «B»

  • Пример: Массив А: 12 13 85 96 47 Массив B: 13 47 Задачи

  • Пример: Массив А: 12 13 85 34 47 Массив B: 13 34 Особенности работы со списками

  • A = [1, 2, 3] B = A[:] копия массива A[1, 2, 3] A [1, 2, 3] B A[0] = 0

  • C[0][0] = 0 [1,2,3] A [4,5,6] B 0 A Влияет на C и D

  • [4,5,6] B [1,2,3] [4,5,6]

  • 62. Массивы 63. Алгоритмы обработки массивов


    Скачать 1.09 Mb.
    Название 62. Массивы 63. Алгоритмы обработки массивов
    Дата28.04.2023
    Размер1.09 Mb.
    Формат файлаpptx
    Имя файлаprogrammirovanie-na-yazyke-python.pptx
    ТипДокументы
    #1095573
    страница5 из 16
    1   2   3   4   5   6   7   8   9   ...   16

    Задачи




    «A»: Заполнить массив случайными числами и выполнить циклический сдвиг элементов массива вправо на 1 элемент.

    Пример:

    Массив:

    1 2 3 4 5 6

    Результат:

    6 1 2 3 4 5

    «B»: Массив имеет четное число элементов. Заполнить массив случайными числами и выполнить реверс отдельно в первой половине и второй половине.

    Пример:

    Массив:

    1 2 3 4 5 6

    Результат:

    3 2 1 6 5 4

    Задачи




    «C»: Заполнить массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все положительные элементы стояли в начала массива, а все отрицательные и нули – в конце. Вычислите количество положительных элементов.

    Пример:

    Массив:

    20 -90 15 -34 10 0

    Результат:

    20 15 10 -90 -34 0

    Количество положительных элементов: 3

    Отбор нужных элементов




    Простое решение:

    Задача. Отобрать элементы массива A, удовлетворяющие некоторому условию, в массив B.

    B = []

    сделать для i от 0 до N-1

    если условие выполняется для A[i] то

    добавить A[i] к массиву B

    B = []

    for x in A:

    if x % 2 == 0:

    B.append(x)

    добавить x в конец массива B

    Какие элементы выбираем?

    ?

    Отбор нужных элементов




    Решение в стиле Python:

    Задача. Отобрать элементы массива A, удовлетворяющие некоторому условию, в массив B.

    B = [ x for x in A ] 

    if x % 2 == 0  ]

    если x – чётное число

    перебрать все элементы A

    Задачи




    «A»: Заполнить массив случайными числами в интервале [-10,10] и отобрать в другой массив все чётные отрицательные числа.

    Пример:

    Массив А:

    -5 6 7 -4 -6 8 -8

    Массив B:

    -4 -6 -8

    «B»: Заполнить массив случайными числами в интервале [0,100] и отобрать в другой массив все простые числа. Используйте логическую функцию, которая определяет, является ли переданное ей число простым.

    Пример:

    Массив А:

    12 13 85 96 47

    Массив B:

    13 47

    Задачи




    «C»: Заполнить массив случайными числами и отобрать в другой массив все числа Фибоначчи. Используйте логическую функцию, которая определяет, является ли переданное ей число числом Фибоначчи.

    Пример:

    Массив А:

    12 13 85 34 47

    Массив B:

    13 34

    Особенности работы со списками




    A = [1, 2, 3]

    B = A

    [1, 2, 3]

    A

    B

    A[0] = 0

    [0, 2, 3]

    A

    B

    A = [1, 2, 3]

    B = A[:]

    копия массива A

    [1, 2, 3]

    A

    [1, 2, 3]

    B

    A[0] = 0

    [0, 2, 3]

    A

    [1, 2, 3]

    B

    Копирование списков


    [1,2,3]

    A

    [4,5,6]

    B

    [A,B]

    C

    [A,B]

    D



    «Поверхностное» копирование:

    import copy

    A = [1, 2, 3]

    B = copy.copy(A)

    A = [1, 2, 3]

    B = [4, 5, 6]

    C = [A, B]

    D = copy.copy(C)

    C[0][0] = 0

    [1,2,3]

    A

    [4,5,6]

    B

    0

    A

    Влияет на C и D!

    !

    «Глубокое» копирование:

    D = copy.deepcopy(C)

    [A,B]

    C

    [∙,∙]

    D

    [1,2,3]

    A

    [4,5,6]

    B

    [1,2,3]

    [4,5,6]
    1   2   3   4   5   6   7   8   9   ...   16


    написать администратору сайта