Одномерные массивы в Python

Азы Python

Массивы в Python представлены в виде списков (list). Список в Python — это упорядоченная коллекция элементов, которые могут быть разных типов данных (строки, числа, другие списки и т.д.).

Создание простого массива

Создать список можно с помощью квадратных скобок и запятых, разделяющих элементы списка:

my_list = [1, 2, 3, 4, 5]

Также можно создать пустой список:

empty_list = []

Для доступа к элементам списка используется индексация, начинающаяся с нуля:

print(my_list[0]) # выведет 1
print(my_list[2]) # выведет 3

Можно изменять элементы списка:

Копировать

my_list[0] = 10
print(my_list) # выведет [10, 2, 3, 4, 5]

Также можно добавлять элементы в конец списка с помощью метода append():

my_list.append(6)
print(my_list) # выведет [10, 2, 3, 4, 5, 6]

И удалять элементы с помощью метода remove():

my_list.remove(3)
print(my_list) # выведет [10, 2, 4, 5, 6]

Списки в Python поддерживают множество методов для работы с ними, таких как sort(), reverse(), count(), index() и другие.

Как заполнить массив числами с клавиатуры во время работы программы

Для заполнения массива числами, вводимыми с клавиатуры, можно использовать цикл for и функцию input(). Вот пример кода:

n = int(input("Введите размер массива: ")) # запрашиваем у пользователя размер массива
my_array = [] # создаем пустой массив
 
for i in range(n):
    num = int(input("Введите число: ")) # запрашиваем у пользователя число
    my_array.append(num) # добавляем число в массив
 
print("Массив:", my_array) # выводим массив на экран

В этом примере мы сначала запрашиваем у пользователя размер массива с помощью функции input(), преобразуем его в целое число с помощью функции int() и сохраняем в переменную n. Затем создаем пустой массив my_array.

Далее мы используем цикл for для заполнения массива. На каждой итерации цикла мы запрашиваем у пользователя число с помощью функции input(), преобразуем его в целое число с помощью функции int() и добавляем в массив с помощью метода append().

Наконец, мы выводим массив на экран с помощью функции print().

Заполнение случайными числами

Для заполнения массива случайными числами можно воспользоваться модулем random из стандартной библиотеки Python.

Вот пример кода, который заполняет массив случайными целыми числами от 0 до 9:

import random
 
n = 10 # размер массива
my_array = [random.randint(0, 9) for _ in range(n)] # заполняем массив случайными числами
 
print("Массив:", my_array) # выводим массив на экран

В этом примере мы импортируем модуль random и создаем переменную n, которая содержит размер массива. Затем мы используем генератор списков для заполнения массива случайными целыми числами от 0 до 9 с помощью функции random.randint(). Функция принимает два аргумента: нижнюю и верхнюю границы диапазона случайных чисел.

Далее выводим массив на экран с помощью функции print().

Как заполнить массив по заданному правилу (по формуле)

Для заполнения массива по заданному правилу можно использовать цикл for и применять формулу на каждой итерации цикла. Вот пример кода, который заполняет массив числами, вычисленными по формуле x^2 + 2x + 1:

n = 10 # размер массива
my_array = [] # создаем пустой массив
 
for x in range(n):
    num = x**2 + 2*x + 1 # вычисляем число по формуле
    my_array.append(num) # добавляем число в массив
 
print("Массив:", my_array) # выводим массив на экран

В этом примере мы создаем переменную n, которая содержит размер массива, и создаем пустой массив my_array.

Затем мы используем цикл for для заполнения массива. На каждой итерации цикла мы вычисляем число по заданной формуле и добавляем его в массив с помощью метода append().

Выводим массив на экран с помощью функции print().

Сортировка. Как упорядочить массив чисел по возрастанию?

Сортировка «пузырьком»

Рассмотрим алгоритм сортировки пузырьком:

my_array = [5, 2, 8, 1, 9, 3] # исходный массив
n = len(my_array) # определяем размер массива
 
# выполняем сортировку пузырьком
for i in range(n):
    for j in range(n - i - 1):
        if my_array[j] > my_array[j + 1]:
            my_array[j], my_array[j + 1] = my_array[j + 1], my_array[j]
 
print("Отсортированный массив:", my_array) # выводим отсортированный массив на экран

В этом примере мы создаем переменную my_array, которая содержит исходный массив чисел.

Затем мы определяем размер массива с помощью функции len() и сохраняем его в переменную n.

Далее мы выполняем сортировку пузырьком с помощью двух вложенных циклов for. Внешний цикл выполняется n раз, а внутренний цикл — n — i — 1 раз, где i — номер текущей итерации внешнего цикла. Внутренний цикл сравнивает два соседних элемента массива и меняет их местами, если они расположены в неправильном порядке.

Метод sort()

Для упорядочивания массива чисел по возрастанию можно использовать метод sort() или функцию sorted(). Вот пример программы, которая сортирует массив чисел по возрастанию с помощью метода sort():

my_array = [5, 2, 8, 1, 9, 3] # исходный массив
my_array.sort() # сортируем массив по возрастанию
print("Отсортированный массив:", my_array) # выводим отсортированный массив на экран

В этом примере мы создаем переменную my_array, которая содержит исходный массив чисел.

Затем мы вызываем метод sort() для массива my_array, который сортирует его по возрастанию.

Выводим отсортированный массив на экран с помощью функции print().

Функция sorted()

Если нужно сохранить исходный массив и получить отсортированный массив в виде нового массива, можно использовать функцию sorted(). Вот пример программы, которая сортирует массив чисел по возрастанию с помощью функции sorted():

my_array = [5, 2, 8, 1, 9, 3] # исходный массив
sorted_array = sorted(my_array) # сортируем массив по возрастанию и сохраняем результат в новый массив
print("Исходный массив:", my_array) # выводим исходный массив на экран
print("Отсортированный массив:", sorted_array) # выводим отсортированный массив на экран

В этом примере мы создаем переменную my_array, которая содержит исходный массив чисел.

Затем мы вызываем функцию sorted() для массива my_array, которая сортирует его по возрастанию и сохраняет результат в новый массив sorted_array.

Примеры задач на обработку линейного массива чисел

Задача 1. Дан одномерный массив из N целых элементов. Написать программу вычисления произведения всех элементов. Используйте ручной способ ввода чисел.

Вот пример кода, который вычисляет произведение всех элементов одномерного массива, заданного вручную:

n = int(input("Введите размер массива: ")) # вводим размер массива
my_array = [] # создаем пустой массив
 
# заполняем массив вручную
for i in range(n):
    num = int(input("Введите число: "))
    my_array.append(num)
 
# вычисляем произведение всех элементов массива
product = 1
for num in my_array:
    product *= num
 
print("Произведение всех элементов массива:", product) # выводим результат на экран

В этом примере мы сначала запрашиваем у пользователя размер массива с помощью функции input() и преобразуем его в целое число с помощью функции int(). Затем мы создаем пустой массив my_array и заполняем его вручную с помощью цикла for и функции input().

Далее мы используем цикл for для вычисления произведения всех элементов массива. На каждой итерации цикла мы умножаем текущий элемент на переменную product, которая изначально равна 1.

Задача 2. Дан линейный массив из N целых чисел. Написать программу вычисления суммы этих элементов. Используйте для заполнения массива случайные числа.

Вот пример кода, который вычисляет сумму всех элементов линейного массива, заполненного случайными числами:

import random
 
n = 10 # размер массива
my_array = [random.randint(0, 9) for _ in range(n)] # заполняем массив случайными числами
 
# вычисляем сумму всех элементов массива
sum = 0
for num in my_array:
    sum += num
 
print("Массив:", my_array) # выводим массив на экран
print("Сумма всех элементов массива:", sum) # выводим результат на экран

В этом примере мы импортируем модуль random и создаем переменную n, которая содержит размер массива. Затем мы используем генератор списков для заполнения массива случайными целыми числами от 0 до 9 с помощью функции random.randint().

Далее мы используем цикл for для вычисления суммы всех элементов массива. На каждой итерации цикла мы добавляем текущий элемент к переменной sum, которая изначально равна 0.

Задача 3.Дан массив A(n). Заполнить двузначными числами. Найти элементы сумма цифр, которых равна числу элементов массива.

n = 10 # размер массива
my_array = [] # создаем пустой массив
 
# заполняем массив двузначными числами
for i in range(n):
    num = i + 10 # добавляем 10, чтобы получить двузначное число
    my_array.append(num)
 
# выводим элементы массива на экран
print("Массив:", my_array)
 
# находим элементы, сумма цифр которых равна числу элементов массива
for num in my_array:
    digits_sum = sum(int(digit) for digit in str(num)) # вычисляем сумму цифр числа
    if digits_sum == n:
        print("Число", num, "имеет сумму цифр, равную числу элементов массива")

В этом примере мы создаем переменную n, которая содержит размер массива, и создаем пустой массив my_array.

Затем мы используем цикл for для заполнения массива двузначными числами. На каждой итерации цикла мы добавляем 10 к текущему индексу, чтобы получить двузначное число, и добавляем его в массив с помощью метода append().

Далее мы используем цикл for для нахождения элементов, сумма цифр которых равна числу элементов массива. На каждой итерации цикла мы вычисляем сумму цифр текущего числа с помощью функции sum() и генератора списков, который преобразует каждую цифру числа в целое число с помощью функции int() и суммирует их. Затем мы сравниваем сумму цифр с числом элементов массива и выводим число на экран, если они равны.

Задача 4.Составьте программу, которая выполнит перевод натурального числа из десятичной системы счисления в любую с основанием 2-16

decimal_number = int(input("Введите натуральное число в десятичной системе счисления: ")) # вводим десятичное число
base = int(input("Введите основание системы счисления (от 2 до 16): ")) # вводим основание системы счисления
 
# проверяем, что основание системы счисления находится в диапазоне от 2 до 16
if base < 2 or base > 16:
    print("Ошибка: основание системы счисления должно быть от 2 до 16")
else:
    # выполняем перевод числа в заданную систему счисления
    result = ""
    while decimal_number > 0:
        remainder = decimal_number % base
        if remainder < 10:
            result = str(remainder) + result
        else:
            result = chr(remainder + 55) + result
        decimal_number //= base
 
    print("Число в системе счисления с основанием", base, ":", result) # выводим результат на экран

В этом примере мы сначала запрашиваем у пользователя натуральное число в десятичной системе счисления и основание системы счисления, в которую нужно выполнить перевод.

Затем мы проверяем, что основание системы счисления находится в диапазоне от 2 до 16. Если основание не входит в этот диапазон, выводим сообщение об ошибке.

Если основание находится в диапазоне от 2 до 16, то выполняем перевод числа в заданную систему счисления с помощью цикла while. В каждой итерации цикла мы находим остаток от деления десятичного числа на основание системы счисления и добавляем его в начало результата. Если остаток меньше 10, то мы просто добавляем его в виде строки, а если больше или равен 10, то мы добавляем соответствующую букву в верхнем регистре (A, B, C, D, E, F) с помощью функции chr().

Рейтинг
( 3 оценки, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями:
Инфоучка
Добавить комментарий

5 × = thirty

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: