Главная страница
Навигация по странице:

  • Упражнение 96. Является ли строка целым числом

  • Упражнение 98. Простое число

  • книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python


    Скачать 2.24 Mb.
    НазваниеСборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
    Анкоркнига заданий пайтон
    Дата02.10.2022
    Размер2.24 Mb.
    Формат файлаdocx
    Имя файлакнига практических заданий, pyton.docx
    ТипСборник упражнений
    #709959
    страница58 из 69
    1   ...   54   55   56   57   58   59   60   61   ...   69

    Упражнение 93. Центрируем строку


    ##

    # Центрируем строку в рамках заданного окна

    #

    WIDTH = 80

    ## Создаем новую строку, которая будет центрирована в окне заданной ширины

    # @param s – строка для центрирования

    # @param width – ширина окна, в котором будет центрирована строка # @return копия строки s с ведущими пробелами для центрирования def center(s, width): # Если строка слишком длинная, возвращаем оригинал if width < len(s): return s

    # Вычисляем количество пробелов, необходимое для центрирования строки spaces = (width – len(s)) // 2 result = " " * spaces + s

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

    return result

    # Демонстрируем центрирование строки def main():

    print(center("Известная история", WIDTH)) print(center("от:", WIDTH)) print(center("Кого–то известного", WIDTH)) print() print("Жили–были...")

    # Call the main function main()

    Упражнение 95. Озаглавим буквы


    ##

    # Заглавные буквы в строке

    #

    ## Озаглавливаем нужные буквы в строке

    # @param s – исходная строка для обработки # @return новая строка def capitalize(s): # Создаем копию исходной строки, в которой будем собирать итоговую строку result = s

    # Делаем заглавной первый непробельный символ в строке pos = 0 while pos < len(s) and result[pos] == ' ': pos = pos + 1

    if pos < len(s): # Заменяем символ на заглавный, не затрагивая остальные символы в строке result = result[0 : pos] + result[pos].upper() + \ result[pos + 1 : len(result)]

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

    # Делаем заглавной первую букву, которая следует за точкой и # восклицательным или вопросительным знаком pos = 0 while pos < len(s):

    if result[pos] == "." or result[pos] == "!" or \ result[pos] == "?": # Переходим за знак ''.'', ''!'' or ''?'' pos = pos + 1

    # Пропускаем пробелы while pos < len(s) and result[pos] == " ":

    pos = pos + 1

    # Если не достигли конца строки, меняем текущий символ на заглавную букву if pos < len(s):

    result = result[0 : pos] + \ result[pos].upper() + \ result[pos + 1 : len(result)]

    # Идем к следующему символу pos = pos + 1

    # Делаем заглавными буквы i, когда им предшествует пробел, а следом идет пробел, # точка, восклицательный или вопросительный знак либо апостроф pos = 1 while pos < len(s) – 1:

    if result[pos – 1] == " " and result[pos] == "i" and \ (result[pos + 1] == " " or result[pos + 1] == "." or \ result[pos + 1] == "!" or result[pos + 1] == "?" or \ result[pos + 1] == "'"): # Заменяем i на I, не затрагивая другие символы result = result[0 : pos] + "I" + \ result[pos + 1 : len(result)] pos = pos + 1 return result

    # Демонстрируем работу функции def main():

    s = input("Введите текст: ") capitalized = capitalize(s) print("Новая версия:", capitalized)

    # Вызываем основную функцию main()

    Упражнение 96. Является ли строка целым числом?

    ##

    # Определяем, представляет ли строка, введенная пользователем, целое число

    #

    ## Посмотрим, включает ли строка целочисленное значение

    # @param s – строка для проверки # @return True, если это целое число. Иначе False. # def isInteger(s): # Удаляем пробелы в начале и конце строки s = s.strip()

    # Определяем, являются ли оставшиеся символы целыми числами if (s[0] == "+" or s[0] == "–") and s[1:].isdigit():

    Метод isdigit возвращает True, если строка состоит как минимум из одного символа и все символы в ней являются цифрами.

    return True if s.isdigit(): return True return False

    # Демонстрируем работу функции isInteger def main():

    s = input("Введите строку: ") if isInteger(s):

    print("Строка является целым числом.") else: print("Строка не является целым числом.")

    # Вызываем основную функцию, только если файл не импортирован if __name__ == "__main__": main()

    Переменной __name__ автоматически присваивается значение при запуске программы на языке Python. При этом если файл запущен напрямую из Python, значение этой переменной будет равняться строке “__main__”, а если импортирован в другую программу – имени модуля.

    Упражнение 98. Простое число?

    ## Определяем, является ли число простым

    # @param n – целое число для проверки # @return True, если число простое, иначе False def isPrime(n): if n <= 1: return False

    Если n % i == 0, значит, n без остатка делится на i, а следовательно, оно не простое.

    # Проверяем все числа от двух до n, не включая его, на деление n на них без остатка for i in range(2, n): if n % i == 0: return False return True

    # Определяем, является ли простым введенное пользователем число def main():

    value = int(input("Введите целое число: ")) if isPrime(value):

    print(value, "– простое число.") else: print(value, "не является простым числом.")

    # Вызываем основную функцию, только если файл не импортирован

    if __name__ == "__main__": main()
    1   ...   54   55   56   57   58   59   60   61   ...   69


    написать администратору сайта