Опубликован: 14.06.2015 | Доступ: свободный | Студентов: 4652 / 500 | Длительность: 21:48:00
Авторские права: Creative Commons Attribution 3.0
Самостоятельная работа 4:

Функции

< Самостоятельная работа 1 || Самостоятельная работа 4: 1234

Смотреть лекцию на: ИНТУИТ | youtube.com

Если проблемы с видео, нажмите выше ссылку youtube

Get Adobe Flash Player

По ссылке youtube выложено видео с русскими титрами.

8.1. Вызов функции

В контексте программирования, функцией (function) называется последовательность инструкций, которая выполняет вычисления. Когда вы задаете функцию, то задаете имя и последовательность инструкций. Позже вы сможете вызвать функцию, обратившись к ней по имени. Мы уже встречали примеры вызова функции (function call):

>>> type(32)
<type 'int'>

Функция носит имя type. Выражение в скобках называется аргументом (argument) функции. Аргумент – это значение или переменная, которую мы передаем в функцию в качестве входного параметра. Результатом функции type является тип аргумента.

Проще говоря, функция "берет" аргумент и "возвращает" результат. Результат называется возвращаемым значением (return value).

8.2. Встроенные функции

Python предоставляет несколько важных (built-in) встроенных функций, которые мы можем использовать. Создатели Python написали множество функций, которые решают часто встречающиеся проблемы и включил эти функции в состав Python.

Функции max и min возвращают соответственно наибольшее и наименьшее значения в списке:

>>> max('Hello world')
'w'
>>> min('Hello world')
' '

Функция max говорит нам о "наибольшем символе" в строке (который функция нам вернула как "w"), функция min показывает наименьший символ, которым является пробел.

Другая очень распространенная встроенная функция - len, которая говорит нам, сколько элементов содержится в аргументе. Если аргументом функции len является строка, то она возвращает количество символов в строке.

>>> len('Hello world')
11
>>>

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

Вы должны обращаться с именами встроенных функций, как с зарезервированными словами (т.е. не используйте max в качестве имени переменной).

8.3. Функции, преобразующие типы

Python также предоставляет встроенные функции, которые преобразуют значения из одного типа в другой. Функция int берет любое значение и преобразует его в целое число, если это возможно:

>>> int('32')
32
>>> int('Hello')
ValueError: invalid literal for int(): Hello

Функция int может преобразовать число с плавающей точкой в целое, но это не округление, а отсечение дробной части:

>>> int(3.99999)
3
>>> int(-2.3)
-2

Функция float преобразует целое и строковое в число с плавающей точкой:

>>> float(32)
32.0
>>> float('3.14159')
3.14159

В завершении, функция str преобразует входные аргументы в строки:

>>> str(32)
'32'
>>> str(3.14159)
'3.14159'

8.4. Случайные числа

Получая одинаковые входные значения, большинство программ каждый раз генерируют одни и те же выходные значения, такие программы можно назвать детерминированными (deterministic). Детерминизм обычно является полезной вещью, но для некоторых приложений необходима непредсказуемость в поведении. Хорошим примером таких приложений являются игры.

Создание действительно недетерминированных программ – дело не простое, но есть пути создания программ, которые похожи на недетерминированные. Одним из таких способов являются алгоритмы (algorithms) генерации псевдослучайных (pseudorandom) чисел. Псевдослучайные числа не настоящие случайные, т.к. они генерируются на основании детерминированных вычислений, но с виду их не отличить от случайных.

Модуль random предоставляет функции, которые генерируют псевдослучайные числа (которые далее мы будем называть "случайными").

Функция random возвращает случайное число с плавающей точкой в интервале от 0.0 до 1.0 (включая 0.0 и не включая 1.0). Каждый раз, когда вызывается random, вы получаете следующее число в длинной последовательности. Для примера рассмотрим цикл:

import random
for i in range(10):
       x = random.random()
       print x

Результатом работы программы будет список из следующих 10 случайных чисел в интервале от 0.0 до 1.0.

0.301927091705
0.513787075867
0.319470430881
0.285145917252
0.839069045123
0.322027080731
0.550722110248
0.366591677812
0.396981483964
0.838116437404

Функция random является одной из функций, которая работает со случайными числами. Функция randint принимает параметры low и high, и возвращает целочисленное значение в интервале от low до high (включая оба).

>>> random.randint(5, 10)
5
>>> random.randint(5, 10)
9

Для выбора случайного элемента из последовательности, можно воспользоваться функцией choice:

>>> t = [1, 2, 3]
>>> random.choice(t)
2
>>> random.choice(t)
3

Модуль random также включает функции, которые генерируют значения от непрерывных распределений, включая Гаусса, экспоненциального, гамма и некоторых других.

< Самостоятельная работа 1 || Самостоятельная работа 4: 1234
Ксения Шошина
Ксения Шошина

курс Программирование на Python

Илья Кизилов
Илья Кизилов

В лекции приводится программа для сортировки слов по их длинне. В коде ошибка. Я исправил так:

def sort_by_length(words):

words = words.split()

t = []

for word in words:

t.append((len(word), word))

t.sort(reverse=True)

res = []

for length, word in t:

res.append(word)

return res

print(sort_by_length(words))

 

Кто ещё как сделал?