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

  • Пример процедуры

  • Обратите внимание Процедуры и функции начинаются ключевым словом def

  • Аргументы (параметры) функций и процедур

  • Глобальная переменная

  • Параметры процедуры

  • Задания: Напишите процедуру, которая выводит на экран построчно цифры переданного ей двузначного числа Напишите функцию maxi ( a

  • Обратите внимание

  • практикумы по языку Питон. Питон. Практикум Загидуллин Наиль Рашитович мбоу сош 2 Оглавление Введение в Питон 4 Команда вывода 4


    Скачать 7.93 Mb.
    НазваниеПрактикум Загидуллин Наиль Рашитович мбоу сош 2 Оглавление Введение в Питон 4 Команда вывода 4
    Анкорпрактикумы по языку Питон
    Дата07.11.2022
    Размер7.93 Mb.
    Формат файлаdocx
    Имя файлаПитон.docx
    ТипПрактикум
    #774704
    страница3 из 11
    1   2   3   4   5   6   7   8   9   10   11

    Функции (процедуры)


    Процедуры и функции — это подпрограммы, которые могут многократно вызываться основной программой.

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

    Пример процедуры:

    def Err(): # определение процедуры

    print ( "Ошибка: неверные данные" )

    n = int ( input() )

    if n < 0:

    Err() # вызов процедуры

    Функции, в отличие от процедур, вызываются как значения величин. Внутри функции имеется команда return (вернуть)

    Пример функции:

    def Err(): # определение функции

    return "Ошибка: неверные данные"

    n = int ( input() )

    if n < 0:

    print(Err()) # вызов функции

    Обратите внимание

    Процедуры и функции начинаются ключевым словом def после которого мы пишем её имя, которое сами придумываем. После открывающей и закрывающей скобки ставим «:» Команды внутри функции пишут с отступом

    Процедуры и функции должны быть описаны до его вызова.

    Аргументы (параметры) функций и процедур

    Пример: Написать процедуру, которая печатает 60 раз указанный символ (введенный с клавиатуры), каждый с новой строки.

    def printChar(s): # s это аргумент функции

    for i in range(60):

    print (s)

    sim = input('введите символ')

    printChar(sim)

    Глобальная переменная — если ей присвоено значение в основной программе (вне процедуры).

    Локальная переменная (внутренняя) известна только на уровне процедуры, обратиться к ней из основной программы и из других процедур нельзя.

    Параметры процедуры — локальные переменные. В программе s — локальная переменная.

    x = 3 # глобальная переменная

    def pr(): # процедура без параметров

    print (x) # вывод значения глобальной переменной

    pr()

    x = 3 # глобальная переменная

    def pr(a): # процедура с параметром

    a = 4 # локальная переменная

    print (a) # 4

    pr(x) # передача параметра глобальной переменной

    Существует возможность изменить значение глобальной переменной (не создавая локальную). В процедуре с помощью слова global:

    x = 3 # глобальная переменная

    def pr(): # процедура без параметров

    global x

    x = 1

    print (x) # вывод измененного значения глобальной переменной

    pr(x)

    Задания:

    1. Напишите процедуру, которая выводит на экран построчно цифры переданного ей двузначного числа

    2. Напишите функцию maxi (a,b), которая выводит на экран большую из двух чисел

    3. Напишите функцию sum(n), которая возвращает сумму чисел от 1 до n (используйте цикл)

    Рекурсия


    Рекурсия это ситуация, когда функция или процедура вызывает себя сама

    Решим задачу

    Имеется число 12345. Сколько ещё чисел можно получить, переставляя цифры этого числа?

    Эта задача из комбинаторики. Число перестановок из n элементов, равно n! =1*2*3…n (n факториал)

    def fact(n):

    if n == 1:

    return n

    else:

    return n*fact(n-1)

    print(fact(5))

    Ещё задача

    Вычисление n-го числа ряда Фибоначчи

    Числа Фибоначчи это числа 1,1,2,3,5,8… где каждое число начиная с 3-го равна сумме двух пердыдущих

    def fibonacci(n):

    if n in (1, 2):

    return 1

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

    print(fibonacci(10))

    Обратите внимание:

    Эти задачи можно решить и без рекурсии, используя цикл

    Задание:

    1. Найдите с помощью рекурсивной функции факториал числа 15.

    2. Решите задачу. Сколько способов существует выбрать двух дежурных из 20 учащихся. Используйте формулу:

      Для вычисления факториала используйте рекурсивную функцию

    3. Решите задачу (числа Фибоначчи):

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

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

    • В начале каждого месяца каждая половозрелая пара даёт жизнь только одной паре.

    • Животные всегда рождаются парами «одна самка + один самец».

    • Кролики бессмертны, их не могут съесть хищники.

    1   2   3   4   5   6   7   8   9   10   11


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