ОЧЕНЬ СРОЧНО РЕБЯТКИ
1. Створіть нову програму мовою Python. На вході маємо одновимірний список із цілих чисел. Задачею програми є:
1) отримати квадратний корінь кожного елемента списку та відсортувати список від найменшого до найбільшого
2) Отримати зріз до середини списку та відсортувати його від найменшого елемента до найбільного.
2. 1) вивести список із елементів, які входять у проміжок [ 1/2 ; 100]
2) вивести список із елементів, які є розв'язком нерівності 2x+6 > 0
Answers & Comments
Ответ:
1 задача:
from math import sqrt
from random import randrange
list = [randrange(0, 100) for x in range(6)]
print(list)
sqrt_list = [sqrt(x) for x in list]
sqrt_list.sort()
print(sqrt_list)
# получение среза. список должен быть задан заново или не отсортирован, тк иначе будет нарушено условие
sqrt_list = sqrt_list[int(len(sqrt_list)/2):]
sqrt_list.sort()
print(sqrt_list)
2 задача:
from random import randrange
spisok = [randrange(-100, 100) for x in range(110)]
print(spisok)
list = spisok[int(len(spisok)/2):100]
result_list = []
for num in list:
if 2 * num + 6 > 0:
result_list.append(num)
print(result_list)
Объяснение:
Для 1 задачи:
Библиотека math нужна для извлечения корня (если ее не использовать, то нужно написать <число>**0.5)?, библиотека random нужна только для создания списка, если список имеется заранее, можно пропустить
Я просто перебрал список чисел и добавил в конечный список квадратный корень итерации. Далее использовал метод list.sort() для сортировки от меньшего к большему. Как видите всю функцию можно записать в 2 строчки. Что бы добраться к середине списка я использовал срез от длины списка(метод len() возвращает длину списка) деленной на 2 до конца. Далее отсортировал
Для 2 задачи:
Создаю случайный список в диапазоне от -100 до 100. Далее по методу из прошлой задачи получаю середину списка, так же указываю край среза. Прохожусь по значению списка и если итерация удовлетворяет условию, с помощью метода append() добавляю значение в конец списка. Вывожу конечный список на экран