Списки
Найти значение списка, которое встречается чаще всего¶
Дан список чисел. Определить, какое значение встречается в нем чаще всего. Вывести его на экран.
from random import random
a = [int(random()*5) for i in range(15)]
print(a)
a_set = set(a)
most_common = None
qty_most_common = 0
for item in a_set:
qty = a.count(item)
if qty > qty_most_common:
qty_most_common = qty
most_common = item
print(most_common)
Сортировка пузырьком¶
Заполните список случайными числами и выведите его на экран. Выполните сортировку списка по возрастанию, используя метод пузырька. Выведите на экран отсортированный список.
from random import randint
N = 7
a = []
for i in range(N):
a.append(randint(1, 20))
print(a)
for i in range(N-1):
for j in range(N-i-1):
if a[j] > a[j+1]:
b = a[j]
a[j] = a[j+1]
a[j+1] = b
print(a)
Сортировка выбором¶
Заполните список случайными числами и выведите его на экран. Выполните сортировку списка по возрастанию, используя метод сортировки выбором. Выведите на экран отсортированный список.
from random import randint
N = 7
a = []
for i in range(N):
a.append(randint(1, 20))
print(a)
j = N - 1
while j > 0:
ind = 0
for i in range(1, j+1):
if a[i] > a[ind]:
ind = i
b = a[ind]
a[ind] = a[j]
a[j] = b
j -= 1
print(a)
Двоичный поиск. Найти число в упорядоченном массиве.¶
Заполните массив случайными числами, отсортируйте его с помощью метода sort, выведите на экран. Спросите у пользователя число, которое он ищет в этом массиве. Используя метод двоичного поиска найдите этот элемент и выведите на экран его индекс.
from random import random
N = 20
array = []
for i in range(N):
array.append(int(random()*100))
array.sort()
print(array)
number = int(input())
low = 0
high = N-1
while low <= high:
mid = (low + high) // 2
if number < array[mid]:
high = mid - 1
elif number > array[mid]:
low = mid + 1
else:
print("ID =", mid)
break
else:
print("Нет номера")
В каких строках и столбцах матрицы содержится элемент¶
Пользователь вводит значение, которое может встречаться в матрице. Вывести на экран отдельно индексы строк и отдельно индексы столбцов, в которых есть указанный элемент.
from random import random
N = 6
M = 5
matrix = []
for i in range(N):
row = []
for j in range(M):
row.append(int(random()*40)+10)
matrix.append(row)
for row in matrix:
print(row)
item = int(input("Номер range(10,50): "))
print("Строки (index):", end=" ")
for i in range(N):
if item in matrix[i]:
print(i, end=" ")
print()
print("Столбцы (index):", end=" ")
for j in range(M):
for i in range(N):
if matrix[i][j] == item:
print(j, end=" ")
break
print()