Питон задачи с решениями

Задачи с решениями или подсказками

Дана строка. Разрежьте ее на две равные части (если длина строки – четная, а если длина строки нечетная, то длина первой части должна быть на один символ больше). Переставьте эти две части местами, результат запишите в новую строку и выведите на экран.

Вычислите с помощью функции len() длину строки и разделите ее пополам при помощи оператора целочисленного деления.

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

Дана строка, в которой буква h встречается минимум два раза. Удалите из этой строки первое и последнее вхождение буквы h, а также все символы, находящиеся между ними.

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

Дана строка, в которой буква h встречается как минимум два раза. Разверните последовательность символов, заключенную между первым и последнием появлением буквы h, в противоположном порядке.

Работа с данными: списки и словари

a = [10, 20] b = [30, 40] c = [50, 60] 

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

Примеры: 1 2 3 2 3 -> 2, 1 1 1 1 1 -> 10

Задача решается перебором: каждое число требуется сравнить с остальными. Это делается в цикле с условным выражением. Избегайте подсчета пары по два раза.

В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.

Вклад в банке составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть копеек отбрасывается. Каждый год сумма вклада становится больше. Определите, через сколько лет вклад составит не менее y рублей.

Банк Юрского периода

В недалеком будущем ученые изобрели машину времени. С помощью него удалось перенестись в прошлое и основать Самый Первый Банк.
Рассчитать, в каком году нужно положить в банк 5 рублей под 5% годовых, чтобы к 2020 году стать миллионером.

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

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

Выходные данные. Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом, таким же, как у Пети, то он должен встать после них.

Циклы

Составить список, который состоит из элементов, общих для этих двух списков:

a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] # b = [a for a in range(56)] 
c = [] for number in a: if number in b and number not in c: c.append(number) print(c) 

Входные и выходные данные

Дан список имен объектов Солнечной системы.

  1. Отделить номер или год от названия
  2. Определить, год это или номер: если число между 1950 и 2020, то это год, иначе номер.
  3. Создать имя файла, которое содержит год+имя или просто имя, потому что номер отброшен. Имя не должно содержать пробелы!
names = ["2867 Šteins", "2014 JO25", "486958 Arrokoth", "243 Ida"] filenames = ["Steins.jpg", "2014JO25.jpg", "Arrokoth.jpg", "Ida.jpg"] ar = "486958 Arrokoth" ar.split() # ['486958', 'Arrokoth'] splitted = ar.split() splitted[0] # '486958' int(splitted[0]) # 486958 int(splitted[0]) > 1950 # True int(splitted[0]) < 2020 # False int(splitted[0]) >1950 and int(splitted[0]) < 2020 # False splitted = '2014 JO25'.split() strnumber = splitted[0] number = int(strnumber) int(number) >1950 and int(number) < 2020 # True filename = "Steins.jpg".split(".") # ['Steins', 'jpg'] if filename[1] == "jpg": print("Это картинка! Запускаем фотошоп. ") 

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

a = ['White', 'Black', 'Red', 'Purple', 'Magenta'] b = ['Red', 'Green', 'Blue', 'Cyan', 'Magenta'] for color in a: # code here print(color) 

Программа сближающихся случайных чисел
Установка matplotlib в командном интерпретаторе: pip install matplotlib

from random import random, randrange from matplotlib import pyplot as plt a, b = 1000, 3000 j = 0 c, d = [], [] e, f = 1, 9000000 while abs(a - b) > 1: a = randrange(e, f) b = randrange(e, f) e = min(a, b) f = max(a, b) j += 1 c.append(j) d.append(abs(a - b)) print("j", j, abs(a - b)) plt.plot(d, c, 'o') plt.grid() plt.show() 
rawwords = input() words = rawwords.lower().replace(" ", "") ispalindrom = words == words[::-1] print(ispalindrom) 

При заданном целом числе n посчитайте n + nn + nnn
Обобщить для n от 1 до 9.

a = input("Введите число: ") b = input("Сколько раз умножать число: ") kopilka = 0 for count in range(int(b)): print(a * (count + 1)) kopilka = kopilka + int(a * (count + 1)) print(kopilka) 

Длина Московской кольцевой автомобильной дороги – 109 километров. Байкер Вася стартует с нулевого километра МКАД и едет со скоростью v километров в час. На какой отметке он остановится через t часов?

Решить задачу для КАД (142.15 км).

MKAD = 108.9 KAD = 142.15 road = KAD v = float(input("v, км/ч: ")) t = float(input("t, ч: ")) s = v * t x = s // road g = s - x * road if g - round(g): g += 1 print("Номер километра:", int(g)) 

Напишите программу, которая по данному числу N от 1 до 9 выводит на экран N пингвинов. Изображение одного пингвина имеет размер 5 на 9 символов, между двумя соседними пингвинами также имеется пустой (из пробелов) столбец. Разрешается вывести пустой столбец после последнего пингвина.

 _~_ _~_ _~_ (o o) (o o) (o o) / V \ / V \ / V \ /( _ )\ /( _ )\ /( _ )\ ^^ ^^ ^^ ^^ ^^ ^^ 

Килрой

Напишите программу, которая сажает на линию от 1 до 6 Килроев. Килрои не любят тесноты и должны разделяться минимум одним символом на линии с обеих сторон. Длина линии не должна изменяться!

Ссылки

Источник

Задачник 2021

Сборник задач с решениями по программированию на языке Python.

Задачник 2021

Python Workbook Cover

Любое целое число независимо от объема потребляемой памяти в языке Python представлено типом int. Напишете ли вы 22 или 22222222222222222222, оно все равно будет определяться как int, просто в памяти вашего устройства это значение будет занимать разную память .

Операции над числами с плавающей точкой могут вызывать ошибки и давать неожиданные результаты. Работа с типом float требует повышенного внимания. Также отображение таких чисел конечно, несмотря на то что в математике имеются иррациональные числа (например, Пи, корень квадратный из двух) .

В логическом (булевом) типе данных имеется 2 значения: True («правда») и False («ложь»). Класс bool – это подкласс типа int (т.е. целых чисел). True и False – синглтон-объекты, которые по ходу выполнения программы никогда не меняют место расположения в памяти .

Список – последовательность элементов, объединенных в один контейнер. Главная особенность – они изменяемы. Элементы списка индексируются, состоят в основном из однотипных данных, перебираются, сохраняют порядок. Для решения заданий необходимо повторить свойства и методы списков .

Рассмотрим особенности словарей в Python, операции над ними; дополнительные структуры данных, образованные от них; темы, необходимые для решения заданий.

Специфика типа данных кортеж (набор) в Python, методы, операции. Примеры использования кортежей, задачи с решениями.

Специфика типа данных множества (set) в Python, методы, операции. Примеры использования множеств, задачи с решениями.

Строки как тип данных в Python. Основные методы и свойства строк. Примеры работы со строками, задачи с решениями.

Особенности и структура условных выражений в Python. Полные и неполные условные выражения, примеры задач с решениями.

Функции, их типы, причины применения. Аргументы и параметры, разновидности. Примеры использования и задачи с решениями.

Импорт библиотек в Python. Различие модулей и пакетов, причины их использования. Актуальные вопросы для проверки понимания темы и задание для самостоятельной практики.

Объекты и классы в Python, их методы и свойства. Типы методов: статичные и классовые, магические, публичные и приватные. Свойства как декораторы. Применение принципов ООП в Питоне.

Чтение и запись файлов: инструментарий в Питоне. Работа с файлами разных типов: текстовыми, графическими, таблицами. Контекстный менеджер.

Понятие итератора и итерабельного объекта и их протоколы. Встроенные инструменты для работы с перебираемыми коллекциями. Ленивые итераторы. Генераторы.

Также может быть интересно

Donation сайту smartiqa.ru

Все материалы проекта Smartiqa были и остаются бесплатными. Пожертвованные деньги пойдут на оплату хостинга, продление доменного имени, администрирование и развитие сайта.

Доступны 2 способа осуществления пожертвования:
1. Оплата через сайт сервиса "ЮMoney", что гарантирует корректность и безопасность процедуры оплаты.
2. Перевод напрямую на карту Тинькофф.

Обратите внимание, что в обоих случаях перевод осуществляется физическому лицу.

Donation сайту smartiqa.ru

Все материалы проекта Smartiqa были и остаются бесплатными. Пожертвованные деньги пойдут на оплату хостинга, продление доменного имени, администрирование и развитие сайта.

Доступны 2 способа осуществления пожертвования:
1. Оплата через сайт сервиса "ЮMoney", что гарантирует корректность и безопасность процедуры оплаты.
2. Перевод напрямую на карту Тинькофф.

Обратите внимание, что в обоих случаях перевод осуществляется физическому лицу.

Получатель: Татьяна Васильевна К.
Номер карты Тинькофф: 5536 9137 5246 3444
Номер телефона: +79529984747
Так же можно воспользоваться QR-кодом выше.

Источник

Читайте также:  Python pip remove packages
Оцените статью