Задачи python среднего уровня

Задачи python среднего уровня

Пары чисел с минимальной разностью

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

Вложенность слов

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

Пробелы

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

Прямоугольник в круге

Напишите функцию, которая будет принимать три числа: ширину и высоту прямоугольника и радиус круга и возвращать True, если прямоугольник может поместиться в круг.

Буквы-подруги

Напишите функцию, которая будет принимать строку и две буквы. Функция должна проверять, всегда ли после первой переданной буквы идет вторая.

Число с плавающей точкой

Создайте регулярное выражение для проверки того, является ли строка валидным числом с плавающей точкой. Обратите внимание: написать нужно паттерн, а не функцию.

Сиракузская последовательность

Сиракузская последовательность генерируется следующим образом. Берем любое натуральное число n. Если оно четное, то делим его на 2, а если нечетное, то умножаем на 3 и прибавляем 1 (получаем 3n + 1).

Больше, чем сумма?

Напишите функцию, которая будет принимать список чисел и проверять, является ли каждое число больше суммы всех предыдущих чисел.

Картина, корзина, картонка и маленькая собачонка

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

Сборка машинок

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

Источник

4 фантастических задачи программирования на Python среднего уровня, чтобы по-настоящему проверить свои знания

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

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

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

Они не трудные, но и непростые.

Поскольку цель этой статьи — дать читателю возможность самостоятельно решить эти программы, я не буду давать подробное объяснение каждого решения. Просто код решения в самом конце. И помните, у одной проблемы может быть много решений. Моя может выглядеть совершенно иначе, чем ваша, но, в конце концов, важен только результат. Однако небрежное кодирование не поможет. Например, скопируйте и вставьте огромный кусок кода, тогда как простой цикл for может выполнить эту работу.

1. Паттерн «звездный треугольник»

При вводе пользователем в виде положительного целого числа программа должна распечатать треугольник, состоящий из символа звезды (*). Входные данные должны храниться в переменной с именем N. N представляет количество строк в шаблоне. Количество звезд в каждом ряду увеличивается на 2 каждый раз.

2. Сумма целых чисел в строке

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

Если строка = «200 плюс 500 равно»

3. FizzBuzz

Перебирайте каждое число от 1 до некоторого числа, которое пользователь вводит в качестве входных данных. (только целые числа) и распечатайте каждое на экране. Если число делится на 4, то вместо печати самого числа выведите «Fizz». Если число делится на 6, то вместо печати самого числа выведите «Buzz». Если число делится как на 4, так и на 6, выведите «FizzBuzz». Если число не удовлетворяет ни одному из этих условий, просто распечатайте само число.

Диапазон будет от 1 до 13

1 2 3 Fizz 5 Buzz 7 Fizz 9 10 11 FizzBuzz 13

4. Сумма двух

Создайте функцию с именем sumOfTwo (a, b, v) с 3 параметрами.

a — это список целых чисел, например [22, 341, 21, 5, 0, -5].

b также представляет собой список целых чисел, как и a.

v — одно целое число.

Функция должна проверить, можно ли взять одно число из обоих списков a и b, и сложить числа, чтобы они равнялись числу v.

Если есть 2 числа, которые могут это сделать, выведите «True». В противном случае выведите «False».

sumOfTwo([1, 2, 3], [10, 20, 30], 23)

Результатом будет «Истина», потому что 3+ 20 = 23.

Возможные решения:

1. Паттерн «звездный треугольник»

N = int(input("N: ")) x = 1 for i in range(N, 0, -1): # starting number, ending number, step numberOfSpaces = i - 1 numberOfStars = N - i + x print(" " * numberOfSpaces + "*" * numberOfStars) x = x + 1

2. Сумма чисел в строке

string = "200 plus 500 is equal to" stringList = string.split() digitList = [] numberOfIntegers = 0 for item in stringList: if item.isdigit(): numberOfIntegers += 1 item = int(item) digitList.append(item) sum = sum(digitList) print(str(numberOfIntegers) + " integers found") print("sum: " + str(sum))

3. FizzBuzz

max = int(input("Max: ")) for number in range(1, max+1): if number % 4 == 0 and number % 6 == 0: print("FizzBuzz") elif number % 4 == 0: print("Fizz") elif number % 6 == 0: print("Buzz") else: print(number)

4. Сумма двух

def sumOfTwo(a, b, v): lenA = len(a) lenB = len(b) for itemA in a: for i in range(lenB): currentNumberB = b[i] if v - itemA == currentNumberB: print("True") exit() else: if a.index(itemA) == lenA: print("False") exit()

Удачного кодирования! Будьте в безопасности в это время.

Источник

Читайте также:  Php пользователь видит только свою
Оцените статью