В определенной юрисдикции стоимость проезда на такси состоит из базовой ставки в 4.00$, плюс 0.25$ за каждые 140 метров пути. Напишите функцию, которая принимает расстояние, пройденное в километрах, в качестве единственного параметра и возвращает общую стоимость поездки. Напишите основную программу, которая продемонстрирует работу этой функции.
Подсказка: Тарифы на такси могут меняться со временем. Используйте константы для представления базовой ставки и переменной части тарифа, чтобы программа могла быть легко обновлена при увеличении тарифов.
Напишите функцию, которая принимает строку s в качестве первого параметра и ширину окна в символах w в качестве второго параметра. Ваша функция должна вернуть новую строку, которая включает необходимое количество пробелов в начале, чтобы строка s была центрирована в окне при выводе. Новая строка должна быть сформирована следующим образом:
Если длина строки s больше или равна ширине окна, то возвращается сама строка s.
Если длина строки s меньше ширины окна, то возвращается строка, содержащая (w - len(s)) // 2 пробелов перед s.
Напишите основную программу, которая продемонстрирует работу функции, выводя несколько строк, центрированных в заданном окне.
Представьте, что у вас есть три соломинки разной длины. Возможно, их можно уложить так, чтобы они образовали треугольник, когда их концы соприкасаются, а возможно, и нет. Например, если все соломинки имеют длину 6 см, можно легко построить равносторонний треугольник. Однако, если одна соломинка имеет длину 6 см, а две другие по 2 см, то создать треугольник невозможно.
Более общим правилом является следующее: если какая-либо из длин больше или равна сумме двух других длин, то такие длины нельзя использовать для построения треугольника. В противном случае они могут образовать треугольник.
Напишите функцию, которая определяет, можно ли из трех длин построить треугольник. Функция должна принимать три параметра и возвращать булево значение. Если хотя бы одна из длин меньше или равна 0, функция должна вернуть False. В противном случае функция должна определить, можно ли из указанных длин построить треугольник, используя правило, описанное выше, и вернуть соответствующий результат.
Кроме того, напишите программу, которая запрашивает у пользователя три длины и демонстрирует работу вашей функции.
Напишите функцию, которая генерирует случайный пароль. Пароль должен иметь случайную длину от 7 до 10 символов. Каждый символ должен случайным образом выбираться из позиций от 33 до 126 в таблице ASCII.
Функция не принимает параметры и возвращает случайно сгенерированный пароль как единственный результат. В основной программе выведите сгенерированный пароль.
Подсказка: При выполнении этой задачи может оказаться полезной функция chr, которая позволяет преобразовать ASCII-код в символ.
Целое число n называется совершенным, если сумма всех его собственных делителей равна самому числу. Например, число 28 является совершенным, так как его собственные делители — 1, 2, 4, 7 и 14, и сумма 1 + 2 + 4 + 7 + 14 = 28.
Напишите функцию, которая определяет, является ли положительное целое число совершенным. Функция должна принимать один параметр. Если параметр является совершенным числом, функция возвращает True, в противном случае — False.
Кроме того, напишите основную программу, которая использует вашу функцию для нахождения и отображения всех совершенных чисел в диапазоне от 1 до 10,000.
Стандартная колода игральных карт содержит 52 карты. Каждая карта имеет одну из четырех мастей и значение. Масти включают пики, червы, бубны и трефы, а значения варьируются от 2 до 10, а также Валет, Дама, Король и Туз.
Каждую карту можно представить с помощью двух символов. Первый символ указывает на значение карты: значения от 2 до 9 записываются напрямую, а символы “T”, “J”, “Q”, “K” и “A” используются для представления 10, Валета, Дамы, Короля и Туза соответственно. Второй символ обозначает масть карты: “s” для пик ♠️, “h” для червей ♥️, “d” для бубен ♦️ и “c” для треф ♣️. Ниже приведено несколько примеров карт и их обозначений:
Начните с написания функции createDeck, которая создает полную колоду карт, сохраняя двухсимвольные обозначения всех 52 карт в списке. Функция возвращает список карт как единственный результат и не требует параметров.
Затем напишите вторую функцию shuffle, которая перемешивает карты в списке. Один из возможных методов перемешивания заключается в том, чтобы последовательно пройти по каждому элементу списка и поменять его местами с другим случайным элементом. Вы должны написать свой собственный цикл для перемешивания карт и не использовать метод shuffle модуля random.
Используйте обе функции для создания основной программы, которая отображает колоду карт до и после перемешивания.
Совет: Хороший алгоритм перемешивания должен быть unbiased (без смещения), то есть каждая возможная перестановка элементов должна быть одинаково вероятной. Чтобы достичь unbiased-перемешивания, вместо выбора случайного индекса в любом месте списка, попробуйте менять текущий элемент с элементом на случайной позиции между текущим элементом и концом списка.
Вам дан каталог книг, где каждая книга представлена отдельным текстовым файлом, а названия книг хранятся в списке. Каждая книга в каталоге имеет следующие свойства: уникальный номер, автор, название и год издания. В имени файла хранится только название, а номер, автор и год - в первых трех строках файла. Необходимо реализовать основные операции для управления каталогом, учитывая следующие особенности:
Создание (Create) — добавление новой книги в каталог. Создаёт новый .txt файл, названный по формату <Название книги>.txt, и сохраняет книгу в список каталога.
Чтение (Read) — открывает соответствующий .txt файл и выводит первые 10 строк текста книги в консоль.
Обновление (Update) — изменяет название книги. При этом необходимо переименовать файл так, чтобы он соответствовал новому названию, и обновить информацию в списке.
Удаление (Delete) — удаляет книгу из списка, а также удаляет соответствующий .txt файл с именем <Название книги>.txt.
Создайте меню, которое позволит пользователю легко работать с каталогом, выбирая нужные действия.
Программа должна быть реализована с использованием функций для каждой операции (создание, чтение, обновление, удаление, вывод списка и поиск).