питон. Привет! Как дела
Скачать 24.9 Kb.
|
Task 1 Напишите программу, рассчитывающую стоимость сообщения, которое отправляется телеграммой, где каждый символ стоит 40 копеек. Пример Ввод: Привет! Как дела? Вывод: 6 р. 80 коп. mess = input() x = (len(mess) * 40) rub = x % 100 x = x // 100 cop = x print(rub, 'р.', cop, 'коп.') Коля, Федя и Толя спорят кто из них должен стоять первый на построении на уроке физкультуры. Напишите программу, упорядочивающую учеников по росту. На вход подаются три строки с ростом, на выход – три упорядоченные строки. Пример Ввод: 132 144 126 Вывод: 144 132 126 a = int(input()) b = int(input()) c = int(input()) if a > b > c: print(a) print(b) print(c) elif a > c > b: print(a) print(c) print(b) elif b > a > c: print(b) print(a) print(c) elif b > c > a: print(b) print(c) print(a) elif c > a > b: print(c) print(a) print(b) elif c > b > a: print(c) print(b) print(a) elif a == b == c: print(b) print(c) print(a) Во многих задачах, связанных с компьютерами, особенно близких к аппаратной части, важную роль играют числа, являющиеся степенями двойки: 1, 2, 4, 8 и так далее. Напишите программу, которая проверяет, является ли введённое натуральное число степенью двойки. Если да, то выводится сама эта степень; если нет, выводится «НЕТ». Пример Ввод: 302231454903657293676544 Вывод: 78 a = int(input()) b = 0 while a != 1: if a % 2 != 0: print('НЕТ') break a //= 2 b += 1 else: print(b) Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [A, B] и определяет количество элементов этого массива, у которых вторая цифра в десятичной записи (число десятков) – чётная. Размер массива и диапазон случайных чисел указывает пользователь. В результате работы программы в первой строке должны быть выведены N элементов построенного массива, разделенные пробелами, а во второй строке – число элементов этого массива, у которых вторая цифра в десятичной записи (число десятков) – чётная. Пример Ввод: 100 150 5 Вывод: 100 101 143 110 113 3 У меня есть ведро с большим количеством темно-синей краски, и я хотел бы покрасить как можно больше стен. Создайте функцию, которая возвращает количество полных стен, которые я могу покрасить, прежде чем мне нужно будет отправиться в магазины, чтобы купить еще. n - это количество квадратных метров, которые я могу нарисовать. w и h-это ширина и высота одной стены в метрах. Пример: howManyWalls(54, 1, 43) ➞ 1 howManyWalls(46, 5, 4) ➞ 2 Примечание: - Не считайте стену, если я не успею закончить покраску до того, как у меня закончится краска. - Все стены будут иметь одинаковые размеры. - Все числа будут целыми положительными. Создайте функцию, которая принимает три аргумента prob, prize, pay и возвращает true, если prob * prize > pay; в противном случае возвращает false. Чтобы проиллюстрировать: profitableGamble(0.2, 50, 9) ... должно давать true, так как чистая прибыль равна 1 (0.2 * 50 - 9), и 1 > 0. Пример: profitableGamble(0.2, 50, 9) ➞ true profitableGamble(0.9, 1, 2) ➞ false profitableGamble(0.9, 3, 2) ➞ true Напишите функцию, которая делает первое число как можно больше, меняя его цифры на цифры во втором числе. maxPossible(9328, 456) ➞ 9658 // 9658 is the largest possible number built from swaps from 456. // 3 replaced with 6 and 2 replaced with 5. Пример: maxPossible(523, 76) ➞ 763 maxPossible(9132, 5564) ➞ 9655 maxPossible(8732, 91255) ➞ 9755 Примечание: - Каждая цифра во втором числе может быть использована только один раз. - Можно использовать ноль для всех цифр второго числа. Создайте функцию, которая принимает три целочисленных аргумента (a, b, c) и возвращает количество целых чисел, имеющих одинаковое значение. Пример: equal(3, 4, 3) ➞ 2 equal(1, 1, 1) ➞ 3 equal(3, 4, 1) ➞ 0 Напишите функцию, которая находит слово "бомба" в данной строке. Ответьте "ПРИГНИСЬ!", если найдешь, в противном случае: "Расслабься, бомбы нет". Пример: bomb("There is a bomb.") ➞ "DUCK!" bomb("Hey, did you think there is a BOMB?") ➞ "DUCK!" bomb("This goes boom!!!") ➞ "Relax, there's no bomb." Примечание: Строка "бомба" может появляться в разных случаях символов (например, в верхнем, нижнем регистре, смешанном). Учитывая строку, создайте функцию для обратного обращения. Все буквы в нижнем регистре должны быть прописными, и наоборот. Пример: reverseCase("Happy Birthday") ➞ "hAPPY bIRTHDAY" reverseCase("MANY THANKS") ➞ "many thanks" reverseCase("sPoNtAnEoUs") ➞ "SpOnTaNeOuS" Task 2 Создайте функцию, которая принимает строку из одного слова и выполняет следующие действия: Конкатенирует inator до конца, если слово заканчивается согласным, в противном случае вместо него конкатенирует -inator Добавляет длину слова исходного слова в конец, снабженный '000'. Пример: inatorInator("Shrink") ➞ "Shrinkinator 6000" inatorInator("Doom") ➞ "Doominator 4000" inatorInator("EvilClone") ➞ "EvilClone-inator 9000" Напишите функцию, которая принимает топливо (литры), расход топлива (литры/100 км), пассажиров, кондиционер (логическое значение) и возвращает максимальное расстояние, которое может проехать автомобиль. топливо-это количество литров топлива в топливном баке. Расход топлива-это базовый расход топлива на 100 км (только с водителем внутри). Каждый дополнительный пассажир увеличивает базовый расход топлива на 5%. Если кондиционер включен, то его общий (не базовый) расход топлива увеличивается на 10%. Пример: totalDistance(70.0, 7.0, 0, false) ➞ 1000.0 totalDistance(36.1, 8.6, 3, true) ➞ 331.83 totalDistance(55.5, 5.5, 5, false) ➞ 807.3 Создайте функцию, которая принимает число в качестве входных данных и возвращает true, если сумма его цифр имеет ту же четность, что и все число. В противном случае верните false. Пример: parityAnalysis(243) ➞ true // 243 is odd and so is 9 (2 + 4 + 3) parityAnalysis(12) ➞ false // 12 is even but 3 is odd (1 + 2) parityAnalysis(3) ➞ true // 3 is odd and 3 is odd and 3 is odd (3) Создайте функцию, которая определяет, могут ли элементы в массиве быть переупорядочены, чтобы сформировать последовательный список чисел, где каждое число появляется ровно один раз. cons([5, 1, 4, 3, 2]) ➞ true // Can be re-arranged to form [1, 2, 3, 4, 5] cons([5, 1, 4, 3, 2, 8]) ➞ false cons([5, 6, 7, 8, 9, 9]) ➞ false // 9 appears twice lPaeesh le pemu mnxit ehess rtnisg! О, извините, это должно было быть: Пожалуйста, помогите мне распутать эти строки! Каким-то образом все строки перепутались, каждая пара символов поменялась местами. Помоги отменить это, чтобы снова понять строки. Пример: unmix("123456") ➞ "214365" unmix("hTsii s aimex dpus rtni.g") ➞ "This is a mixed up string." unmix("badce") ➞ "abcde" Учитывая массив целых чисел, верните наибольший разрыв между отсортированными элементами массива. Например, рассмотрим массив: [9, 4, 26, 26, 0, 0, 5, 20, 6, 25, 5] ... в котором после сортировки массив становится: [0, 0, 4, 5, 5, 6, 9, 20, 25, 26, 26] .. так что теперь мы видим, что самый большой разрыв в массиве находится между 9 и 20, что равно 11. Пример: largestGap([9, 4, 26, 26, 0, 0, 5, 20, 6, 25, 5]) ➞ 11 // After sorting: [0, 0, 4, 5, 5, 6, 9, 20, 25, 26, 26] // Largest gap between 9 and 20 is 11 largestGap([14, 13, 7, 1, 4, 12, 3, 7, 7, 12, 11, 5, 7]) ➞ 4 // After sorting: [1, 3, 4, 5, 7, 7, 7, 7, 11, 12, 12, 13, 14] // Largest gap between 7 and 11 is 4 largestGap([13, 3, 8, 5, 5, 2, 13, 6, 14, 2, 11, 4, 10, 8, 1, 9]) ➞ 2 // After sorting: [1, 2, 2, 3, 4, 5, 5, 6, 8, 8, 9, 10, 11, 13, 13, 14] // Largest gap between 6 and 8 is 2 Создайте функцию, которая принимает предложение в качестве входных данных и возвращает наиболее распространенную последнюю гласную всех слов в предложении в виде одной символьной строки. Пример: commonLastVowel("Hello World!") ➞ "o" commonLastVowel("Watch the characters dance!") ➞ "e" commonLastVowel("OOI UUI EEI AAI") ➞ "i" Создайте функцию, которая возвращает true, если две строки имеют один и тот же буквенный шаблон, и false в противном случае. Пример: sameLetterPattern("ABAB", "CDCD") ➞ true sameLetterPattern("ABCBA", "BCDCB") ➞ true sameLetterPattern("FFGG", "CDCD") ➞ false sameLetterPattern("FFFF", "ABCD") ➞ false Создайте функцию, которая будет рекурсивно подсчитывать количество цифр числа. Преобразование числа в строку не допускается, поэтому подход является рекурсивным. digitsCount(4666) ➞ 4 digitsCount(544) ➞ 3 digitsCount(121317) ➞ 6 digitsCount(0) ➞ 1 digitsCount(12345) ➞ 5 digitsCount(1289396387328L) ➞ 13 Последовательный прогон-это список соседних последовательных целых чисел. Этот список может быть как увеличивающимся, так и уменьшающимся. Создайте функцию, которая принимает массив чисел и возвращает длину самого длинного последовательного запуска. longestRun([1, 2, 3, 5, 6, 7, 8, 9]) ➞ 5 // Two consecutive runs: [1, 2, 3] and [5, 6, 7, 8, 9] (longest). Пример: longestRun([1, 2, 3, 10, 11, 15]) ➞ 3 // Longest consecutive-run: [1, 2, 3]. longestRun([5, 4, 2, 1]) ➞ 2 // Longest consecutive-run: [5, 4] and [2, 1]. longestRun([3, 5, 7, 10, 15]) ➞ 1 |