Python. Робота з масивами
Опорна вправа: Використання випадкових чисел для створення масиву
- Підключити модуль генерування випадкових чисел: import random
- Згенерувати випадкове ціле число: random.randint(початок інтервалу, кінець інтервалу):
- Згенерувати випадкове дійсне число: random.uniform (початок, кінець)
- Згенерувати випадкове випадкове число з інтервалу (0, 1): random.random()
1. Заповнити масив цілими числами з проміжку (-10, 20). Ті елементи, що кратні 5, замінити числом 100
import random
mas=[]
n=10
print("Згенеровано масив:")
for i in range(n):
mas.append(random.randint(-10,20))
print(mas[i],end=" ")
for i in range(n):
if mas[i]%5==0:
mas[i]=100
print()
print("Змінений масив:")
for i in range(n):
print(mas[i],end=" ")
Згенеровано масив:
2 5 -2 6 6 -6 15 -9 3 13
Змінений масив:
2 100 -2 6 6 -6 100 -9 3 13
2. Даний масив розмірності n*m заповняється випадковими числами.
1)
n=3
m=3
import random
data = [[random.randint(1,7) for i in range(0,n)] for j in range(0,m)]
for i in range(n):
print(' '.join(map(str,data[i])))
Даний код демонструє створення двовимірної матриці з розмірністю 3 × 3 за допомогою генератора двовимірного списку Python. Елементами цієї числової послідовності стали цифрові значення з методів range. Змінні i та j покроково збільшуються в циклах на одиницю. Масив заповнюється псевдовипадковими цілими числами з проміжку (1,7). Функція print служить для візуального відображення згенерованого набору даних на екран комп'ютера.
5 4 5
1 7 2
6 1 1
2) Використовується функція користувача
import random
def stvmas():
n=4
m=5
b=[]
for i in range(n):
b.append([])
for j in range(m):
b[i].append(random.randint(1, 5))
print("Дано масив")
for i in range(n):
print(' '.join(map(str,b[i])))
stvmas()
Практикум розв'язування задач
Вправа 10. У даному масиві 3*4 замінити елементи, що кратні 3, числом 100. Даний масив та змінений масив вивести на екран
b=[[77, 32, 23 ,3], [44, 21, 23, 9], [80, 15, 22, 4]]
print("Дано масив")
for i in range(3):
print(' '.join(map(str,b[i])))
print("Змінено елементи масиву, кратні 3 числом 100")
for i in range(3):
for j in range(4):
if b[i][j]%3==0:
b[i][j]=100
for i in range(3):
print(' '.join(map(str,b[i])))
Вправа 11. У даному масиві від'ємні елементи збільшити на 100 інакше зменшити на 100.
b=[[177, -32, 23 ,3], [-44, 210, 23, 9], [180, -15, 22, 4]]
print("Дано масив")
for i in range(3):
print(' '.join(map(str,b[i])))
print("Змінено елементи масиву, кратні 3 числом 100")
for i in range(3):
for j in range(4):
if b[i][j]<0:
b[i][j]=b[i][j]+100
else:
b[i][j]=b[i][j]-100
for i in range(3):
print(' '.join(map(str,b[i])))
12. У даному масиву 3*3 поміняти місцями рядки: перший та останній.
a=[[1,2,3],[4,5,6],[7,8,9]]
print("Дано масив:")
for i in a:
for j in i:
print(j,end=" ")
print()
for j in range(3):
p=a[0][j]
a[0][j]=a[2][j]
a[2][j]=p
print ("Змінений масив: ")
for i in a:
for j in i:
print(j,end=" ")
print()
Дано масив:
1 2 3
4 5 6
7 8 9
Змінений масив:
7 8 9
4 5 6
1 2 3
Завдання для закріплення вивченого.
У масиві 6*5 різні числа: додатні, від'ємні і число 0. Підрахувати кількість таких чисел і зробити їм заміну довільними числами. Знайти максимальний елемент та його індекси у вже зміненому масиві. Вивести елементи рядка з максимальним елементом, та стовпчик, у якому він розміщений.
Задачі.
1. У даній дійсній матриці розмірністю 6*9 знайти суму елементів рядка, що містить найбільний елемент. Вважається, що такий елемент єдиний.
2. Дано матрицю M*N. У цій таблиці поміняти місцями елементи:
- Першого і останнього рядків
- Першого і останнього стовпчика
- k-того та l-того стовпчика
3. Дано квадратну матрицю розмірності n.
- Надрукувати індекси елементів, розташованих на бічній діагоналі
- Суму елементів бічної діагоналі
- Елементи бічної діагоналі в порядку зростання
4. Знайти різницю між найбільшим і найменшим елементом головної діагоналі квадратної матриці розмірністю n.
5. Таблицю футбольного чемпіонату задано квадратною матрицею порядку n, в якій усі елементи, що розміщені по головній діагоналі, дорівнюють 0, а кожний елемент, що не належить головній діагоналі, дорівнює 2, 1 або 0 очок, що набрані в грі: 2 - виграш, 1 - нічия, 0 - програш. Визначити:
- Кількість команд, які мають більше перемог, ніж поразок
- Номери команд, що не мають поразок
- Чи є хоча б одна команда, що виграла більше половини ігор
6. Дано натуральне число n і дійсні елементи квадратної матриці порядку n. Вважатимемо рядок матриці позначеним, якщо елемент цього рядка, що належить головній діагоналі, додатний. Для кожного позначеного рядка обчислити:
- Максимальний елемент
- Різницю між першим і останнім елементпми
- Середнє арифметичне елементів
7. Дано квадратну матрицю розмірності n (n - парне число). Вважатимемо, що ця матриця розбита:
- навпіл по вертикалі;
- навпіл по горизонтаді;
- навпіл по головній діагоналі (діагональні елементи не беруться до уваги в розв'язках).
Знайти:
- Середнє арифметичне кожної з частин
- Максимальне значення кожної з частин
- Мінімальне значення кожної з частин
8. Створити масив b із найбільших елементів кожного рядка даного масиву a(4*8). Визначити суму елементів даного масиву a, розташованих по зовнішньому контуру масиву.
9. Дано два масиви a(m*n) і b(m*n). Вивести масив С, елементи якого дорівнюють сумі відповідних елементів даних масивів.
10. У даному масиві знайти, скільки разів зустрічається даний елемент
a=[[1,2,3],[2,4,5],[1,2,5]]
print("Дано масив")
for i in range(3):
print(' '.join(map(str,a[i])))
k=int(input("Яке число шукати в масиві? "))
n=0
for i in range(3):
for j in range(3):
if a[i][j]==k:
n=n+1
print("У даному масиві число ",k,"зустрічається ",n,"разів")
11. Дано масив 3*3. Елементами масиву є числа, що не перевищують 5. Підрахувати скільки разів у масиві зустрічаються число 0, 1, 2, 3, 4 та 5.
a=[[1,2,3],[2,4,5],[1,2,5]]
print("Дано масив:")
for i in range(3):
print(' '.join(map(str,a[i])))
n0=0
n1=0
n2=0
n3=0
n4=0
n5=0
for i in range(3):
for j in range(3):
if a[i][j] == 0:
n0=n0+1
elif a[i][j] == 1:
n1=n1+1
elif a[i][j] == 2:
n2=n2+1
elif a[i][j] == 3:
n3=n3+1
elif a[i][j] == 4:
n4=n4+1
elif a[i][j] == 5:
n5=n5+1
print('У даному масиві зустрічається:')
print("число 0 - ",n0, "разів")
print("число 1 - ",n1, "разів")
print("число 2 - ",n2, "разів")
print("число 3 - ",n3, "разів")
print("число 4 - ",n4, "разів")
print("число 5 - ",n5, "разів")
12. Дано масив 5*5 цілих чисел. Підрахувати кількість "чарівних квадратів" в масиві ("чарівний квадрат" - це 4 елементи по сусідству: поточний елемент, елементи справа, внизу та справа внизу із сумою чисел 25).
a=[[6,2,3,9,9],[8,9,0,4,5],[1,9,7,2,5],[8,2,3,9,7],[8,5,2,4,5]]
print("Дано масив")
for i in range(5):
print(' '.join(map(str,a[i])))
k=0
for i in range(4):
for j in range(4):
s=a[i][j]+a[i][j+1]+a[i+1][j]+a[i+1][j+1]
if s == 25:
k=k+1
print('У даному масиві чарівних квадратів - ',k)
Немає коментарів:
Дописати коментар