Дана функция какое из нижеперечисленных значений функции является отрицательным числом
Задачи:
- Получить все шестизначные счастливые номера. Счастливым называется такое шестизначное число, в котором сумма его первых трех цифр равно сумме его последних трех цифр. Определить функцию для расчета суммы цифр трехзначного числа. Для решения использовать прототип функции.
- Найти все трехзначные простые числа (число, которое делится на единицу и на само себя). Определить функцию, позволяющую распознавать простые числа.
- Даны два натуральных числа. Выяснить, является ли хоть одно из них палиндромом («перевертышем»), т.е. числом, десятичная запись которого читается одинаково слева направо и справа налево. Определить функцию, позволяющую распознавать числа палиндромы. Для решения задачи использовать прототип функции.
- Даны два натуральных числа. Выяснить, в каком из них сумма цифр больше, определив функцию для расчета суммы цифр натурального числа.
- Определить значение z=max(a,2b)*max(2a-b,b), где max(x,y) есть максимальное из чисел x.y. Для решения задачи использовать функцию max(x.y)
- Написать программу с функцией. Функция вычисляет сопротивление цепи, состоящей из двух резисторов. Параметрами функции являются величины сопротивлений и тип соединения ,(последовательное или параллельное). Функция должна проверять корректность параметров: если неверно указан тип соединения, то функция должна возвращать -1.
- Вводится последовательность положительных и отрицательных элементов. Количество элементов последовательности n определяется пользователем. Найти произведение отрицательных элементов и определить, осталось ли значение произведения отрицательным числом. Написать функцию, которая возвращает 1, если элемент последовательность и отрицательный, и ноль — в противном случае.
- Написать функцию, которая «переворачивает» число, передаваемое ей в качестве параметра. Функцию использовать в программе для последовательности натуральных чисел. Количество элементов последовательности определяется пользователем. Элементы измененной последовательности вывести на экран.
- Даны два натуральных числа. Выяснить, в каком из них больше четных цифр, определив функцию для расчета количества четных цифр натурального числа.
- Даны два натуральных числа. Написать функцию, определяющую совпадает ли в заданном числе первая и последняя цифры. Для решения задачи использовать прототип функции.
Функции вида y = x², y = x³ и их свойства
Функция вида у = х 2 называется квадратичной, графиком функции является парабола с вершиной в точке (0; 0), ветви параболы направлены вверх, график симметричен относительно оси ординат.
Построим график функции y = x 2 . Составим таблицу соответственных значений x и y:
Свойства функции y = x 2
- График функции неограниченно продолжается вверх справа и слева от оси y.
- Если x = 0, то y = 0. То есть график функции проходит через начало координат.
- Если x ≠ 0, то y > 0. Так как квадрат любого числа, отличного от нуля, положителен, то все точки графика кроме (0; 0), расположены выше оси x.
- Противоположным значениям x соответствует одно и то же значение y. Это следует из того, что (–x) 2 = x 2 для любого значения x. Значит, точки графика, имеющие противоположные абсциссы, симметричны относительно оси y.
- Функция убывает на промежутке (– \(\infty\) ; 0] и возрастает на промежутке [0; + \(\infty\) ).
- Минимального значения квадратичная функция достигает в своей вершине: Ymin при x = 0. Следует также заметить, что максимального значения у функции не существует.
Функция вида у = х 3 называется кубической, графиком функции является кубическая парабола с вершиной в точке (0; 0), график симметричен относительно начала координат.
Построим график функции y = x 3 . Составим таблицу соответственных значений x и y, округляя значения y до сотых:
Дана функция какое из нижеперечисленных значений функции является отрицательным числом
Напомним, что в математике факториал числа n определяется как Например, Ясно, что факториал можно легко посчитать, воспользовавшись циклом for. Представим, что нам нужно в нашей программе вычислять факториал разных чисел несколько раз (или в разных местах кода). Конечно, можно написать вычисление факториала один раз, а затем используя Copy-Paste вставить его везде, где это будет нужно.
# вычислим 3! res = 1 for i in range(1, 4): res *= i print(res) # вычислим 5! res = 1 for i in range(1, 6): res *= i print(res)
Однако, если мы ошибёмся один раз в начальном коде, то потом эта ошибка попадёт в код во все места, куда мы скопировали вычисление факториала. Да и вообще, код занимает больше места, чем мог бы. Чтобы избежать повторного написания одной и той же логики, в языках программирования существуют функции.
Функции — это такие участки кода, которые изолированы от остальный программы и выполняются только тогда, когда вызываются. Вы уже встречались с функциями sqrt(), len() и print(). Они все обладают общим свойством: они могут принимать параметры (ноль, один или несколько), и они могут возвращать значение (хотя могут и не возвращать). Например, функция sqrt() принимает один параметр и возвращает значение (корень числа). Функция print() принимает переменное число параметров и ничего не возвращает.
Покажем, как написать функцию factorial(), которая принимает один параметр — число, и возвращает значение — факториал этого числа.
def factorial(n): res = 1 for i in range(1, n + 1): res *= i return res print(factorial(3)) print(factorial(5))
Дадим несколько объяснений. Во-первых, код функции должен размещаться в начале программы, вернее, до того места, где мы захотим воспользоваться функцией factorial(). Первая строчка этого примера является описанием нашей функции. factorial — идентификатор, то есть имя нашей функции. После идентификатора в круглых скобках идет список параметров, которые получает наша функция. Список состоит из перечисленных через запятую идентификаторов параметров. В нашем случае список состоит из одной величины n. В конце строки ставится двоеточие.
Далее идет тело функции, оформленное в виде блока, то есть с отступом. Внутри функции вычисляется значение факториала числа n и оно сохраняется в переменной res. Функция завершается инструкцией return res, которая завершает работу функции и возвращает значение переменной res.
Инструкция return может встречаться в произвольном месте функции, ее исполнение завершает работу функции и возвращает указанное значение в место вызова. Если функция не возвращает значения, то инструкция return используется без возвращаемого значения. В функциях, которым не нужно возвращать значения, инструкция return может отсутствовать.
Приведём ещё один пример. Напишем функцию max(), которая принимает два числа и возвращает максимальное из них (на самом деле, такая функция уже встроена в Питон).
10 20
def max(a, b): if a > b: return a else: return b print(max(3, 5)) print(max(5, 3)) print(max(int(input()), int(input())))
Теперь можно написать функцию max3(), которая принимает три числа и возвращает максимальное их них.
def max(a, b): if a > b: return a else: return b def max3(a, b, c): return max(max(a, b), c) print(max3(3, 5, 4))
Встроенная функция max() в Питоне может принимать переменное число аргументов и возвращать максимум из них. Приведём пример того, как такая функция может быть написана.
def max(*a): res = a[0] for val in a[1:]: if val > res: res = val return res print(max(3, 5, 4))
Все переданные в эту функцию параметры соберутся в один кортеж с именем a, на что указывает звёздочка в строке объявления функции.
2. Локальные и глобальные переменные
Внутри функции можно использовать переменные, объявленные вне этой функции
def f(): print(a) a = 1 f()
Здесь переменной a присваивается значение 1, и функция f() печатает это значение, несмотря на то, что до объявления функции f эта переменная не инициализируется. В момент вызова функции f() переменной a уже присвоено значение, поэтому функция f() может вывести его на экран.
Такие переменные (объявленные вне функции, но доступные внутри функции) называются глобальными.
Но если инициализировать какую-то переменную внутри функции, использовать эту переменную вне функции не удастся. Например:
def f(): a = 1 f() print(a)
Получим ошибку NameError: name ‘a’ is not defined . Такие переменные, объявленные внутри функции, называются локальными. Эти переменные становятся недоступными после выхода из функции.
Интересным получится результат, если попробовать изменить значение глобальной переменной внутри функции:
def f(): a = 1 print(a) a = 0 f() print(a)
Будут выведены числа 1 и 0. Несмотря на то, что значение переменной a изменилось внутри функции, вне функции оно осталось прежним! Это сделано в целях “защиты” глобальных переменных от случайного изменения из функции. Например, если функция будет вызвана из цикла по переменной i , а в этой функции будет использована переменная i также для организации цикла, то эти переменные должны быть различными. Если вы не поняли последнее предложение, то посмотрите на следующий код и подумайте, как бы он работал, если бы внутри функции изменялась переменная i.
def factorial(n): res = 1 for i in range(1, n + 1): res *= i return res for i in range(1, 6): print(i, '! = ', factorial(i), sep='')
Если бы глобальная переменная i изменялась внутри функции, то мы бы получили вот что:
5! = 1 5! = 2 5! = 6 5! = 24 5! = 120
Итак, если внутри функции модифицируется значение некоторой переменной, то переменная с таким именем становится локальной переменной, и ее модификация не приведет к изменению глобальной переменной с таким же именем.
Более формально: интерпретатор Питон считает переменную локальной для данной функции, если в её коде есть хотя бы одна инструкция, модифицирующая значение переменной, то эта переменная считается локальной и не может быть использована до инициализации. Инструкция, модифицирующая значение переменной — это операторы = , += , а также использование переменной в качестве параметра цикла for . При этом даже если инструкция, модицифицирующая переменную никогда не будет выполнена, интерпретатор это проверить не может, и переменная все равно считается локальной. Пример:
def f(): print(a) if False: a = 0 a = 1 f()
Возникает ошибка: UnboundLocalError: local variable ‘a’ referenced before assignment . А именно, в функции f() идентификатор a становится локальной переменной, т.к. в функции есть команда, модифицирующая переменную a , пусть даже никогда и не выполняющийся (но интерпретатор не может это отследить). Поэтому вывод переменной a приводит к обращению к неинициализированной локальной переменной.
Чтобы функция могла изменить значение глобальной переменной, необходимо объявить эту переменную внутри функции, как глобальную, при помощи ключевого слова global :
def f(): global a a = 1 print(a) a = 0 f() print(a)
В этом примере на экран будет выведено 1 1, так как переменная a объявлена, как глобальная, и ее изменение внутри функции приводит к тому, что и вне функции переменная будет доступна.
Тем не менее, лучше не изменять значения глобальных переменных внутри функции. Если ваша функция должна поменять какую-то переменную, пусть лучше она вернёт это значением, и вы сами при вызове функции явно присвоите в переменную это значение. Если следовать этим правилам, то функции получаются независимыми от кода, и их можно легко копировать из одной программы в другую.
Например, пусть ваша программа должна посчитать факториал вводимого числа, который вы потом захотите сохранить в переменной f. Вот как это не стоит делать:
def factorial(n): global f res = 1 for i in range(2, n + 1): res *= i f = res n = int(input()) factorial(n) # дальше всякие действия с переменной f
Этот код написан плохо, потому что его трудно использовать ещё один раз. Если вам завтра понадобится в другой программе использовать функцию «факториал», то вы не сможете просто скопировать эту функцию отсюда и вставить в вашу новую программу. Вам придётся поменять то, как она возвращает посчитанное значение.
Гораздо лучше переписать этот пример так:
# начало куска кода, который можно копировать из программы в программу def factorial(n): res = 1 for i in range(2, n + 1): res *= i return res # конец куска кода n = int(input()) f = factorial(n) # дальше всякие действия с переменной f
Если нужно, чтобы функция вернула не одно значение, а два или более, то для этого функция может вернуть список из двух или нескольких значений:
return [a, b]
Тогда результат вызова функции можно будет использовать во множественном присваивании:
Обратные функции
Обратные функции (Пример 3)Здравствуйте!Нам дана функция: f(x)=(х-1)²-2.Область определения в данном случае ограничена:(х≤1).Следовательно, у нас
есть только левая часть параболы,
вот она изображена на рисунке.Как видите, нам дана неполная парабола.Вот почему найти функцию, обратную данной будет несколько сложнее.Но мы трудностей не боимся, так что давайте найдем обратную функцию.И начнем мы с того, что вместо f(x) запишем у.Итак, у=f(x), а значит, у=(х-1)²-2,
и мы знаем, что это верно для всех значений х,
которые меньше или равны единице.Сейчас у выражен через х.Чтобы определить функцию, обратную данной,
нам нужно из этого равенства выразить х через у, то есть найти х.Мы должны ограничить значения у.Если мы посмотрим на график этой функции,
то, очевидно, что у принимает значения большие или равные минус 2.Давайте здесь в скобках так и запишем: у≥-2.Вот это у нас область значений данной функции,
то есть все значения, которые может принимать у.Итак, давайте найдем х.Все, что нам нужно, так это найти функцию,
обратную данной и убедиться в том,
что она подходит по области определения и области значений.Давайте прибавим к обеим частям выражения 2.У нас получится: у+2=(х-1)².Правильно, ведь -2+2=0.А теперь мы вернемся к ограничению значений у,
поскольку сейчас неясно, какие значения х и у нам необходимы.Итак, я запишу здесь: для у≥-2.Также в скобках мы можем записать, что х≤1.Мы еще полностью не выяснили, какие значения х и у нам нужны,
так что, пусть эти два условия побудут здесь.Что у нас здесь получается?
Чтобы найти х, нам нужно извлечь корень квадратный
из обеих частей равенства.Посмотрим на правую часть: здесь у нас получится:
(х-1), именно для этого мы и извлекали корень квадратный.Мы так и хотели, чтобы здесь у нас было простое выражение (х-1).А теперь вопрос: (х-1) – это положительное или отрицательное число?
Обратите внимание, здесь у нас ограничение значений х:
х должен быть меньше или равен единице.Следовательно, в данном случае мы имеем дело только с теми значениями х,
которые меньше или равны единице.А значит, вот это выражение будет отрицательным.Таким образом, мы должны взять отрицательный корень.Давайте здесь разберемся.Если, допустим, я возьму число минус 3, то (-3)²=9.Давайте извлечем квадратный корень из обеих частей этого равенства.Цель этого извлечения – вернуться к минус 3.Значит, если мы возьмем положительный корень квадратный, то у нас получится: 3=3.Но нам нужно вернуться к минус 3.Нам нужно получить отрицательный квадратный корень.Теперь вернемся к нашей функции.Здесь у нас выражение отрицательное,
следовательно, мы должны вернуться к этому выражению, то есть к (х-1).Итак, нам надо извлечь отрицательный квадратный корень
из обеих частей равенства.Каждый квадрат имеет два корня, положительный и отрицательный.Но в данном случае нам нужен отрицательный корень,
так как это выражение вот здесь у нас отрицательное.Итак, давайте извлечем отрицательный корень квадратный
из обеих частей равенства.Мы получим: -√(у+2) равно…,
а здесь я сделаю дополнительный шаг, чтобы вы все поняли, и запишу:
равно -√(х-1)²для у≥-2 и х≤1.Вот почему мы извлекали отрицательный корень квадратный.Далее мы переписываем левую часть без изменений: -√(у+2).А в правой части вместо -√(х-1)² мы записываем просто (х-1).Выражение (х-1) в квадрате имеет какое-то положительное значение.Отрицательный корень квадратный из этого выражения
является отрицательным числом, которое нужно возвести в квадрат.Здесь получится просто (х-1).Надеюсь, я вас не сильно запутала.Из этого вот квадрата
нам надо получить отрицательное, а не положительное значение,
поэтому мы записываем (х-1),
поскольку значение этого выражения отрицательное.А здесь мы должны дописать: для у≥-2.Итак, нам надо найти х, а значит,
давайте прибавим 1 к обеим частям равенства.Если мы прибавим 1 к обеим частям, то у нас получится:
-√(у+2)+1=х для у≥-2.Давайте теперь это запишем в стандартном виде:
х=-√(у+2)+1 для у≥-2.А если мы хотим записать это как обратную функцию f-¹(у),
то f-¹(у)=х, а значит, f-¹(у)=-√(у+2)+1 для у≥-2.Ну, а если нам надо это записать через х,
то есть переименовать f-¹(у) в f-¹(х),
то нам нужно все у- поменять на х.
Следовательно, f-¹(х)=-√(х+2)+1, для х≥-2.Теперь давайте нарисуем график обратной функции..До скорой встречи!
****************
Мне не понятен вот этот процесс, почему мы получили отрицательный квадратный корень? -√(у+2) ведь при х≤1 1-1 = 0 ,а 0 это не отрицательное число ?помогите плиз :
Да.
Мне больше всего понравилось в этом тексте предложение нарисовать график.
Сделайте это и ситуация прояснится. Нарисуйте параболу, а затем сотрите ее правую половину. У Вас получится график, на котором каждому значению у, большему или равному -2, соответствует единственное значение х. Вот это х и выражается через у по формуле, которая здесь выводится.
Замените слово «отрицательное» на слово «неположительное» и все будет в порядке. Автор текста, видимо, говоря об «отрицательном корне» и «положительном корне» имеет в виду, что в одном случае перед знаком радикала стоит минус, а в другом нет. То есть, это разные выражения. Но не обязательно «отрицательный корень» должен быть отрицательным числом. Это может быть и 0.