Задача 9. Анализ слова 2

Мы продолжаем писать программы-анализаторы для текста и теперь от нас требуется реализовать код, с помощью которого можно будет определять, является ли словом палиндромом — это слово, которое одинаково читается слева направо и справа налево.
Напишите такую программу.

Пример 1:

Введите слово: мадам

Слово является палиндромом

Пример 2:

Введите слово: abccba

Слово является палиндромом

Пример 3:

Введите слово: abbd

Слово не является палиндромом
ЧИТАТЬ ДАЛЕЕ …

Задача 8. Бегущие цифры

Вы пишете программу для маленького табло, в котором циклически повторяется один и тот же текст или числа. Прямо как в каком-нибудь метро, автобусах или трамваях.

Дан список из N элементов и целое число K. Напишите программу, которая циклически сдвигает элементы списка вправо на K позиций. Используйте минимально возможное количество операций присваивания.

Пример 1:

Сдвиг: 1
Изначальный список: [1, 2, 3, 4, 5]

Сдвинутый список: [5, 1, 2, 3, 4]

Пример 2:

Сдвиг: 3
Изначальный список: [1, 4, -3, 0, 10]

Сдвинутый список: [-3, 0, 10, 1, 4]
ЧИТАТЬ ДАЛЕЕ …

Задача 7. Контейнеры

Контейнеры на складе лежат в ряд в порядке невозрастания своей массы (в килограммах). На склад привезли ещё один контейнер, который также нужно положить на определённое место.

Напишите программу, которая получает на вход невозрастающую последовательность натуральных чисел, означающих массу каждого контейнера в ряду. После этого вводится число X – масса нового контейнера. Программа выводит номер, под которым будет лежать новый контейнер. Если в ряде есть контейнеры с одинаковой массой, таким же, как у нового, то его нужно положить после них.
Обеспечьте контроль ввода: все числа целые и не превышают 200.

Пример:

Кол-во контейнеров: 8
Введите вес контейнера: 165 
Введите вес контейнера: 163 
Введите вес контейнера: 160 
Введите вес контейнера: 160 
Введите вес контейнера: 157 
Введите вес контейнера: 157 
Введите вес контейнера: 155 
Введите вес контейнера: 154 
Введите вес нового контейнера: 162
Номер, куда встанет новый контейнер: 3
ЧИТАТЬ ДАЛЕЕ …

Задача 6. Анализ слова

Мы пишем программу-анализатор слов, чтобы потом, возможно, использовать её для тренировки нейросети, которая будет генерировать нужный нам текст.

Пользователь вводит слово. Напишите программу, которая считает количество уникальных букв в слове. Уникальные буквы это те, которые встречаются всего один раз.

Пример 1:

Введите слово: привет
Кол-во уникальных букв: 6

Пример 2:

Введите слово: лава
Кол-во уникальных букв: 2
ЧИТАТЬ ДАЛЕЕ …

Задача 5. Кино

Илья зашёл на на один любительский кино-сайт, где пользователи пишут рецензии на фильмы. Вот, кстати, список этих фильмов.

films = ['Крепкий орешек', 'Назад в будущее', 'Таксист', 
         'Леон', 'Богемская рапсодия', 'Город грехов', 
         'Мементо', 'Отступники', 'Деревня']

Илья на сайте в первый раз, и он хочет зарегистрироваться и сразу добавить некоторые фильмы в список своих любимых, чтобы потом почитать рецензии на них. Напишите программу, в которой пользователь вводит фильм и если он есть в списке, то он добавляется в список любимых. Если его нет, то выводится ошибка. В конце выведите весь список любимых фильмов.

Пример:

Сколько фильмов хотите добавить? 3
Введите название фильма: Леон
Введите название фильма: Безумный Макс
Ошибка: фильма Безумный Макс у нас нет :(
Введите название фильма: Мементо
Ваш список любимых фильмов: Леон, Мементо
ЧИТАТЬ ДАЛЕЕ …

Задача 4. Видеокарты

В базе одного магазина электроники есть список видеокарт компании NVIDIA разных поколений. Для удобства в списке вместо полных названий хранятся только числа, они обозначают модель и поколение видеокарты. Недавно компания выпустила новую линейку видеокарт, и в итоге самые старшие поколения разобрали за пару дней.

Напишите программу, которая удаляет из этого списка видеокарт наибольшие элементы.

Пример:

Кол-во видеокарт: 5
1 Видеокарта: 3070
2 Видеокарта: 2060
3 Видеокарта: 3090
4 Видеокарта: 3070
5 Видеокарта: 3090

Старый список видеокарт: [ 3070 2060 3090 3070 3090 ]
Новый список видеокарт: [ 3070 2060 3070 ]
ЧИТАТЬ ДАЛЕЕ …

Задача 3. Клетки

В научной лаборатории выводят тестируют новые виды клеток. Есть список из N этих клеток, где элемент списка — это показатель эффективности, а индекс списка — это ранг клетки. Ученые отбирают клетки по следующему принципу: если эффективность клетки меньше её ранга, то это клетка не подходит

Напишите программу, которая выводит на экран те элементы списка, значения которых меньше их индекса

Пример работы программы:

Кол-во клеток: 5
Эффективность 1 клетки: 3
Эффективность 2 клетки: 0
Эффективность 3 клетки: 6
Эффективность 4 клетки: 2
Эффективность 5 клетки: 10

Неподходящие значения: 0 2
ЧИТАТЬ ДАЛЕЕ …

Задача 2. Турнир

Для турнира по волейболу необходимо сформировать турнирнирную сетку из 8 человек на 2 дня. На первый день из списка участников решили выбрать каждого второго.

Дан список из 8 имён: Артемий, Борис, Влад, Гоша, Дима, Евгений, Женя, Захар. Напишите программу, которая выводит элементы списка только с чётными индексами.

Первый день: ['Артемий', 'Влад', 'Дима', 'Женя']
ЧИТАТЬ ДАЛЕЕ …

Задача 1. Генерация списка

Дано целое число N. Напишите программу, которая формирует список из нечетных чисел от 1 до N.

Пример 1

Введите число: 1

Список из нечётных чисел от 1 до N: [1]

Пример 2

Введите число: 14

Список из нечётных чисел от 1 до N: [1, 3, 5, 7, 9, 11, 13]
ЧИТАТЬ ДАЛЕЕ …

Задача 7. Года

Недавно Костя прочитал какую-то научно-фантастическую книжку, где самые страшные события случались только в определённые года, а именно — когда в году были ровно три одинаковые цифры. Косте стало интересно какие года были или будут “особенными” в определённом промежутке.

Напишите программу, в которой у пользователя запрашивается два четырёхзначных числа A и B. Затем выведите в порядке возрастания все четырёхзначные числа в интервале от A до B, запись которых содержит ровно три одинаковые цифры.

Пример:

Введите первый год: 1900
Введите второй год: 2100

Года от 1900 до 2100 с тремя одинаковыми цифрами:
1911
1999
2000
2022
ЧИТАТЬ ДАЛЕЕ …

Задача 6. Монетка 2

Практиканту снова дали задание найти старую металлическую монетку по заданным координатам. Но теперь металлоискатель сканирует местность вокруг пользователя в виде круга и при обнаружении/отсутствии металла прибор отображает на экране соответствующее сообщение.

Даны два действительных числа x и y и радиус r. Напишите функцию, которая проверяет, лежит ли точка с координатами (x,y) внутри круга с радиусом r (включая его границу). Координаты центра круга — (0, 0). Если точка принадлежит кругу, выведите сообщение “Монетка где-то рядом”, иначе выведите сообщение “Монетки в области нет”.

Пример 1:

Введите координаты монетки:
X: 0.5
Y: 0.5
Введите радиус: 1

Монетка где-то рядом

ЧИТАТЬ ДАЛЕЕ …

Задача 4. Число наоборот 3

Пользователь вводит два вещественных числа — N и K. Напишите программу, которая отдельно заменяет сначала целую часть на число, которое получается из исходного записью его цифр в обратном порядке, затем то же самое делает с дробной частью. После этого числа складываются и сумма выводится на экран.

Пример:

Введите первое число: 102.12
Введите второе число: 123.34

Первое число наоборот: 201.21
Второе число наоборот: 321.43
Сумма: 522.64
ЧИТАТЬ ДАЛЕЕ …

Задача 3. Сумма и разность

Напишите две функции: первая принимает одно целое положительное число N и находит сумму всех цифр этого числа; вторая — принимает число N и считает количество цифр в числе. В ответе выводится разность суммы чисел и количества

Пример работы программы:

Введите число: 500

Сумма цифр: 5
Кол-во цифр в числе: 3
Разность суммы и кол-ва цифр: 2
ЧИТАТЬ ДАЛЕЕ …

Задача 2. Сессия

Задача 2. Сессия

Внутри папки 02_session этой папки создайте питоновский файл main.py и решите здесь задачу из четвёртого урока данного модуля. Вот текст самой задачи:

Для сдачи зачёта студент Пётр написал программу, которая по координатам двух точек определяет уравнение прямой, проходящей через эти две точки в виде y = k*x +b, где k и b — числа, означающие угловой коэффициент и вертикальное смещение прямой. Вот текст этой программы:

print("Введите первую точку")
x1 = float(input('X: '))
y1 = float(input('Y: '))
print("\nВведите вторую точку")
x2 = float(input('X: '))
y2 = float(input('Y: '))

x_diff = x1 - x2
y_diff = y1 - y2
k = y_diff / x_diff
b = y2 - k * x2

print("Уравнение прямой, проходящей через эти точки:")
print("y = ", k, " * x + ", b)


ЧИТАТЬ ДАЛЕЕ …