Как ввести массив с клавиатуры в питоне
Перейти к содержимому

Как ввести массив с клавиатуры в питоне

  • автор:

Д. П. Кириенко. Программирование на языке Python (школа 179 г. Москвы)

Часто в задачах приходится хранить прямоугольные таблицы с данными. Такие таблицы называются матрицами или двумерными массивами. В языке программирования Питон таблицу можно представить в виде списка строк, каждый элемент которого является в свою очередь списком, например, чисел. Например, создать числовую таблицу из двух строк и трех столбцов можно так:

A = [ [1, 2, 3], [4, 5, 6] ]

Здесь первая строка списка A[0] является списком из чисел [1, 2, 3] . То есть A[0][0] == 1 , значение A[0][1] == 2 , A[0][2] == 3 , A[1][0] == 4 , A[1][1] == 5 , A[1][2] == 6 .

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

for i in range(len(A)): for j in range(len(A[i]): print(A[i][j], end = ' ') print()

То же самое, но циклы не по индексу, а по значениям списка:

for row in A: for elem in row: print(elem, end = ' ') print()

Естественно для вывода одной строки можно воспользоваться методом join :

for row in A: print(' '.join(list(map(str, row))))

Используем два вложенных цикла для подсчета суммы всех чисел в списке:

S = 0 for i in range(len(A)): for j in range(len(A[i])): S += A[i][j]

Или то же самое с циклом не по индексу, а по значениям строк:

S = 0 for row in A: for elem in row: S += elem

Как ввести двумерный массив с клавиатуры(python)?

Как используя включение списка заполнить двумерный массив(список) с клавиатуры ?

  • Вопрос задан более трёх лет назад
  • 3727 просмотров

Комментировать

Решения вопроса 1

longclaps

Это несложно — ведь клавиатура тоже суть двумерна. Берешь и заполняешь. Глупо, конечно, но возможно.

matrix = [[int(input("Никитос, ну скоро уже? Давай, вводи.")) for x in range(100500)] for y in range(100500)]

Ответ написан более трёх лет назад

Нравится 3 1 комментарий

Массивы в python

Зачастую в программах необходимо хранить и обрабатывать большое количество данных об объектах одного типа. В этом случае удобно использовать массивы. Массив — это набор объектов одного типа под общим именем (имя массива). Каждый объект (элемент массива) имеет свой номер (индекс), с помощью которого мы обращаемся к этому элементу массива.

Работа с массивами с заданным размером в Python

Объявление массива в Python известного размера
Массив с определенным числом элементов N в Python объявляется так, при этом всем элементам массива присваивается нулевое значение
Название массива = [0]*N
Задание значений элементов массива в python.
Задать значение элементов массива можно при объявлении массива. Это делается так
Название массива = [элемент №1, элемент №2, элемент №3,…]
Название массива[индекс элемента массива] = значение элемента
При этом массив будет иметь фиксированный размер согласно количеству элементов.
Пример. Задание значений элементов массива в Python двумя способами.
Способ №1.
a = [0, 1, 2, 3, 4]
Способ №2.
a[0] = 0
a[1] = 1
a[2] = 2
a[3] = 3
a[4] = 4
Таблица основных типов данных в Python.

При работе с массивами удобно использовать цикл for для перебора всех элементов массива.
a = [0] * размер массива
for i in range(размер массива):
a[i] = выражение

Размер массива в Питон можно узнать с помощью команды len(имя массива)
Пример программы на Python, которая вводит массив с клавиатуры, обрабатывает элементы и выводит на экран измененный массив С клавиатуры вводятся все элементы массива, значения элементов увеличиваются в два раза. Выводим все значения элементов в консоль. Чтобы элементы массива выводились в одну строку через пробел, используем параметр end =» » в операторе вывода на экран print(a[i], end = » «)
a = [0] * 4
for i in range(len(a)):
i = str(i + 1)
print(«Введите элемент массива » + i, end = » «)
i = int(i)
i = i — 1
a[i] = int(input())
print(«»)
for i in range(len(a)):
a[i] = a[i] * 2
for i in range(len(a)):
print(a[i], end = » «)
Алгоритм поиска минимального значения массива в python
Нужно перебрать все элементы массива и каждый элемент сравнить с текущим минимумом. Если текущий элемент меньше текущего минимума, то этот элемент становится текущим минимумом.
Алгоритм поиска максимального значения массива в python.
Аналогично, для поиска максимального значения нужно перебрать и сравнить каждый элемент с текущим максимумом. Если текущий элемент больше текущего максимума, то текущий максимум приравнивается к этому элементу.
Пример. Программа запрашивает значения элементов массива и выводит минимальное и максимальное значения на экран.
a = [0] * 9
for i in range(len(a) — 1):
i = str(i + 1)
print(«Введите элемент массива » + i, end = » «)
i = int(i)
a[i] = int(input())

min = a[0]
max = a[0]

for i in range(len(a)):
if (a[i ] < min):
min = a[i]
if (a[i] > max):
max = a[i]
min = str(min)
max = str(max)

print(«Минимальное значение = » + min)
print(«Максимальное значение = » + max)

Работа с массивами с изменяемым размером в python

Как правило в программах Python размер массива не четко задан, может вводиться с клавиатуры, может изменяться и размер массива, элементы могут добавляться и удаляться.
Для работы с массивами изменяемого размера в Python используется специальное объявление массива
Объявление массива с неизвестным числом элементов в python
Имя массива=[]
Задание массива явно
Имя массива=[значение первого элемента, значение второго,….]
Вывод всего массива в python
print(имя массива)
Например
a=[]
a=[10,2,3]
print(a)
[10, 2, 3]
Добавление элемента в конец массива вpython
Имя массива.append(значение)
Например
a=[]
a=[10,2,3]
print(a)
a.append(7)
print(a)
будет выведено на экран
[10, 2, 3]
[10, 2, 3, 7]
Ввод массива с клавиатуры в python
Для ввода массива с неизвестным числом элементов в python в программе запрашивается чилсо элементов, а затем в цикле for добавляется элементы с помощью команды имямассива.append()
a=[]
n=int(input())
for i in range(n):
a.append(int(input()))
print(a)
Для определения длины массива в python используется команда len(имя массива)
Вывод поэлементно массива на экран в Python
Вывод массива неизвестной длины осуществляется в цикле for, верхняя граница цикла определятся с помощью команды len(имя массива)
for i in range(len(a)):
print(a[i])
Для удаления элемента массива в python используется команда
Имя массива.remove(номер элемента который нужно удалить)
Например
a=[]
a=[1,2,3]
print(a)
a.remove(1)
print(a)
выведет на экран
[1, 2, 3]
[2, 3]
Сортировка массива в python
Для сортировки числового массива по возрастанию в python используется команда
имя массива.sort()

Пример программы на Python ввода массива, вывода массива и сортировки массива
a=[]
n=int(input())
for i in range(n):
a.append(int(input()))
print(‘массив’)
for i in range(len(a)):
print(a[i])
a.sort()
print(‘отсортированный массив’)
for i in range(len(a)):
print(a[i])

Вернуться к содержанию Следующая тема Работа с модулями в Питон

Как ввести массив с клавиатуры?

Как вводить элементы массива с клавиатуры? Задание: Дан массив целых чисел. Найти сумму и произведение элементов массива, расположенных между первым и вторым нулевыми элементами.

l = [1, 4, 0, 3, 2, 7, 3, 1, 0, 34] t, c, k = 1, 0, 0 for i in l: if i == 0: if k == 1: break k = 1 continue if k == 1: t *= i c += i print(t) print(c) 

Отслеживать
задан 13 мая 2019 в 18:57
17 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Ввод чисел через пробел:

my_list = [int(el) for el in input().split()] 

Первый и второй ноль можно найти через index (проверка на вхождение обоих нулей — count(0)):

first = my_list.index(0) second = my_list.index(0, first + 1) 
s = sum(q[first+1:second]) 
from functools import reduce mul = reduce(lambda x, y: x*y, q[first+1:second]) 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *