## - знайти кількість елементів в масиві
# [1, 3, 5, 6] -> 4
a = [1, 3, 5, 6]
print('1. Answer: ' + f'{len(a)}')
# OR
i = 0
for x in a:
i += 1
print(f'1.1 Answer: {i}')
# - знайти кількість елементів в масиві рівних даному
# [1, 2, 1, 2, 1, 3], 2 -> 2
b = [1, 2, 1, 2, 1, 3]
numbers = [x for x in b if x == 2]
print(f'2. Answer: {len(numbers)}')
# OR
i = 0
for x in b:
if x == 2:
i += 1
print(f'2.1 Answer: {i}')
# - дано список чисел - знайти суму всіх елементів
# [1, 3, 5, 6, 8] -> 23
c = [1, 3, 5, 6, 8]
print(f'3. Answer: {sum(c)}')
# OR
summ = 0
for x in c:
summ += x
print(f'3.1 Answer: {summ}')
# - дано список чисел - знайти максимум елементів
# [1, 3, 5, 6, 8] -> 8
d = [1, 3, 5, 6, 8, -4]
print(f'4. Answer: {max(d)}')
# OR
max = 2.2250738585072014e-308
for x in d:
if x > max:
max = x
print(f'4.1 Answer: {max}')
# - дано список чисел - знайти середнє значення елементів масивів
# [1, 3, 5, 6, 8] -> 4.6
e = [1, 3, 5, 6, 8]
print(f'5 Answer: {sum(e) / len(e)}')
# OR
sum_list, i = 0, 0
for x in e:
sum_list += x
i += 1
if i > 0:
print(f'5.1 Answer: {sum_list / i}')
else:
print('5.1 Answer: empty array')
# - дано список чисел - сформувати рядок де всі ці числа записані через прогалену
# [1, 3, 5, 6, 8] -> '1 3 5 6 8'
f = [1, 3, 5, 6, 8]
str1 = ' '.join(str(x) for x in f)
print(f'6. Answer: {str1}')
# OR
str2 = str(f[0])
for x in f[1:]:
str2 = str2 + ' ' + str(x)
print(f'6.1 Answer: {str2}')
# - дано список чисел - сформувати список де елементи на парних позиціях перемножені на 2 а на не парних на 3
# [1, 3, 5, 6, 8] -> [2, 9, 10, 18, 16]
g = [1, 3, 5, 6, 8]
g[1::2] = [x * 3 for x in g[1::2]]
g[0::2] = [x * 2 for x in g[0::2]]
print(f'7. Answer: {g}')
# - дано список чисел - перевірити чи всі елементи кратні 7
# [1, 3, 5, 6, 8] -> False
# [7, 0, 14, 210] -> True
h_1 = [1, 3, 5, 6, 8]
h_2 = [7, 0, 14, 210]
def my_func(list):
i = 0
for x in list:
if x % 7 == 0:
i += 1
if i == len(list):
return True
else:
return False
print(f'8. Answer: {my_func(h_1)}')
# - дано спиоск чисел - перевірити чи є в ньому від'ємний елемент
# [1, 3, 5, 6, 8] -> False
# [1, 3, -5, 6, 8] -> True
list_1 = [1, 3, 5, 6, 8]
list_2 = [1, 3, -5, 6, -8]
def my_func_1(list):
n = sum(x < 0 for x in list)
if n > 1:
return True
else:
return False
print(f'9. Answer: {my_func_1(list_2)}')
# OR
def my_func_2(list):
i = 0
for x in list:
if x < 0:
i += 1
if i > 1:
return True
else:
return False
print(f'9.1 Answer: {my_func_2(list_1)}')
# - дано список чисел - сформувати список з попереднього де видалені всі непарні числа
# [1, 3, 5, 6, 8] -> [6, 8]
pairwise = [1, 3, 5, 6, 8]
updated_pairwaise = [x for x in pairwise if x % 2 == 0]
print(f'10. Answer: {updated_pairwaise}')
# OR
updated_pairwaise_1 = []
for x in pairwise:
if x % 2 == 0:
updated_pairwaise_1.append(x)
print(f'10.1 Answer: {updated_pairwaise_1}')
# - дано текст (рядок) - розбити його на слова
# "quick brown fox jumps over the lazy dog" -> ['quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
string = "quick brown fox jumps over the lazy dog"
print(f"11. Answer: {string.split(' ')}")
# - дано список - повернути його частину починаючи з 5того елементу
# [1, 3, 5, 6, 8, 7, 12, 1111, 19] -> [7, 12, 1111, 19]
numbers = [1, 3, 5, 6, 8, 7, 12, 1111, 19]
print(f'12. Answer: {numbers[5::]}')
# - дано список - повернути його частипу без 1шого і останнього елментів словники (dict)
# [1, 3, 5, 6, 8, 7, 12, 1111, 19] -> [3, 5, 6, 8, 7, 12, 1111]
dict = [1, 3, 5, 6, 8, 7, 12, 1111, 19]
n = len(dict) - 1
print(f'13. Answer: {dict[1:n]}')