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

  • Функция или метод Назначение len

  • S.replace

  • S.isdigit () Состоит ли строка из цифр S.isalpha

  • S.isalnum () Состоит ли строка из цифр или букв S.upper

  • S.lower () Преобразование строки к нижнему регистру ord

  • Python_практикум. Методическое пособие для практических и лабораторных работ для студентов направлений подготовки


    Скачать 267 Kb.
    НазваниеМетодическое пособие для практических и лабораторных работ для студентов направлений подготовки
    Дата02.06.2022
    Размер267 Kb.
    Формат файлаdoc
    Имя файлаPython_практикум.doc
    ТипМетодическое пособие
    #565005
    страница6 из 7
    1   2   3   4   5   6   7

    6. Функции


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

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

    Для создания функции используется ключевое слово def, после которого указывается имя и список аргументов в круглых скобках. Тело функции выделяется также как тело условия (или цикла): четырьмя пробелами. Таким образом самая простая функция, которая ничего не делает, будет выглядеть так.

    def fun ():

    pass

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

    def fun():

    return 1

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

    def summa(a, b):

    return a + b
    Вызвав эту функцию таким образом:

    print(summa( 3 , 4 ))

    получим

    7

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

    Допускается вызов функцией самой себя. Такой прием называется рекурсией:

    def rec_func(n):

    if n==0:

    return …

    else:

    return rec_func(n-1)

    Рассмотрим еще два примера использования функции: вычисление числа Фибоначчи с использованием рекурсии и вычисление факториала с использованием цикла.

    Напомним, что последовательность Фибоначчи устроена следующим образом: первые два ее члена (нулевой и первый) равны соответственно 0 и 1. Каждый следующий член, начиная со второго, равен сумме двух предыдущих. Таким образом, начало последовательности Фибоначчи выглядит так:

    0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 и т.д.

    Вычисление числа Фибоначчи.

    def fibb(n):

    if n == 0 :

    return 0

    elif n == 1 :

    return 1

    elif n == 2 :

    return 1

    else :

    return fibb(n - 1 ) + fibb(n - 2 )

    Вызвав эту функцию с параметром 10,

    print (fibb( 10 ))

    получим десятый член последовательности Фибоначчи

    55
    Вычисление факториала.

    def factorial(n):

    prod = 1

    for i in range ( 1 , n + 1 ):

    prod *= i

    return prod
    Вызвав эту функцию с параметром 5,

    print (factorial( 5 ))

    получим значение 5!

    120
    Задания

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

    2. Напишите функцию для решения квадратного уравнения. Входные параметры – коэффициенты уравнения. Возвращаемый результат – список из двух корней [x1, x2] или пустое значение None, если уравнение не имеет корней.

    3. Напишите функцию вычисления n-го члена последовательности Фибоначчи без использования рекурсии.

    4. Напишите функцию вычисления n! с использованием рекурсии.

    7. Строки ( тип данных str)


    Большое число задач связано с обработкой не числовых, а текстовых (строковых) данных. Для этого в языке Python имеется тип данных str. Преобразование числа в строку выполняет функция str(число). Обратные преобразования: int(строка) преобразует строку в целое число, float(строка) – в вещественное число. Возможно возникновение исключения.

    Ввод строки выполняется командой string = input().

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

    for symbol in string:

    действия с symbol

    например, код

    string = "пример "

    for symbol in string:

    print(symbol)

    напечатает все символы строки в столбик.

    Некоторые встроенные функции обработки строк приведены ниже:


    Функция или метод

    Назначение

    len(S)

    Длина строки

    S.find(str, [start],[end])

    Поиск подстроки в строке. Возвращает номер первого вхождения или -1

    S.replace(шаблон, замена)

    Замена шаблона

    S.split(символ)

    Разбивает строку по символу-разделителю и возвращает в виде списка

    S.isdigit()

    Состоит ли строка из цифр

    S.isalpha()

    Состоит ли строка из букв

    S.isalnum()

    Состоит ли строка из цифр или букв

    S.upper()

    Преобразование строки к верхнему регистру

    S.lower()

    Преобразование строки к нижнему регистру

    ord(символ)

    Символ в его код ASCII

    chr(число)

    Код ASCII в символ

    S.strip([chars])

    Удаление указанных / пробельных символов в начале и в конце строки

    Больше о строках см.[2]-[4].
    Задания

    1. Напишите программу, которая подсчитает количество букв «а» во введенной строке.

    2. Напишите программу, которая вводит строку и формирует строку, содержащую столько символов «*», сколько символов во введенной строке. Сформированную строку вывести. Например, вводится «мама», выводится «****».

    3. Дополните программу из предыдущего задания, чтобы пробелы во введенной строке не заменялись на «*». Например, вводится «мама мыла раму», выводится «**** **** ****».

    4. Дополните программу из предыдущего задания, чтобы сохранялись не только пробелы, но и все небуквенные символы. Например, вводится «Мама, ты мыла раму?», выводится «****, **** ****?».

    5. Напишите программу, которая проверяет пароль на сложность. Проверку пароля следует проводить по таким критериям:

      1. длина должна быть не менее 5 символов;

      2. могут присутствовать только буквы латинского алфавита в верхнем и нижнем регистре и цифры;

      3. должны присутствовать и буквы, и цифры.

    6. Напишите программу, которая вводит строку из нескольких слов, разделенных пробелами, и создает список входящих в нее слов (используйте метод split)



    1   2   3   4   5   6   7


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