Last active
July 11, 2018 09:00
-
-
Save d0uji/3cd14fe586236d05dc7395f2bc1c6cc5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import numpy as np | |
import sys | |
# 1 | |
print("1:") | |
a = np.random.randint(0, 100, (3, 4)) # двумерный массив целых чисел от 0 до 99 размером 3x4 | |
print(a) | |
# 2 | |
print("2:") | |
print(a[1][2]) # строка 1, 2 столбец | |
# 3 | |
print("3:") | |
print(*a[:,1]) # вывод второго столбца(фишка numpy), с обычними листами так не прокатит | |
# 4 | |
print("4:") | |
print(*a[:,0][1::2]) # каждый второй элемент первого столбца(только один в нашем случае) | |
# 5 | |
print("5:") | |
a.resize((6, 2)) # меняем форму на 6x2 | |
print(a) | |
# 6 | |
print("6:") | |
x = float(input("Введите число: ")) | |
a = np.divide(a, x) # деление матрицы на число | |
print(a) | |
# 7 | |
print("7:") | |
for id, col in enumerate(a.T): # a.T - траспонированная матрица | |
print(id, ": ", max(col), sep="") | |
# 8 | |
print("8:") | |
print(min(a[0])) | |
# 9 | |
print("9:") | |
def isAscending(list): # можно было сортировкой, но так сложность O(n) | |
if len(list) == 0: | |
sys.exit("Некорректная последовательность") | |
previous = list[0] | |
for number in list: | |
if number < previous: | |
return False | |
previous = number | |
return True | |
a = np.array(list(map(float, input("Введите массив:\n").split()))) | |
try: | |
neg_idx = np.where(a < 0)[0][0] # первое отрицательное число(индекс) | |
except IndexError: | |
sys.exit("Некорректная последовательность") | |
if isAscending(a[:neg_idx]): | |
print("Возрастает") | |
else: | |
print("Не возрастает") | |
# 10 | |
print("10:") | |
n = int(input("\nВведите размер матрицы: ")) | |
a = [] | |
print("Введите матрицу:") # квадратная матрица | |
for i in range(n): | |
a.append(list(map(int, input().split()))) # добавляем очередную строку | |
a = np.array(a) | |
zeros_idx = np.where(a == 0) | |
s = sum([sum(a.T[z[1]][:z[0]]) for z in zip(*zeros_idx)]) | |
print("Сумма:", s) | |
if s % 2 == 0: | |
print("Сумма чётная") | |
else: | |
print("Сумма нечётная") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment