Учебная страница курса биоинформатики,
год поступления 2016
Указания к заданию 9
Подключение модуля (библиотеки) — команда import, например import math. В интерактивном режиме после этого можно вызвать список функций (и других объектов, например констант) модуля командой
dir(math)
Смысл конкретной функции или константы (например, exp из модуля math) можно посмотреть командой
help(math.exp)
Правда, с константами так не получается :(.
- Если вам нужны одна-две функции из модуля (например, только sin и cos из math), то пишете так:
from math import sin, cos ... a = cos(x) + sin(x) ...
Если же (как обычно в случае math), понадобится много чего, то пишете в программе так же, как и в интерактивном режиме:
import math ... a = math.cos(x) + math.sin(x) ...
Написание собственного модуля. Модуль — это файл с расширением py, в котором описаны одна или несколько функций.
Функция описывается, например, так (здесь и далее вместо "myfunc" подставляете имя своей функции).
def myfunc(x, y, z): result = (x + y)/z return result
И вызывается, например, так:
a = myfunc(10, 4.5, myvar*2)
Собственный модуль подключается так же, как библиотека. Если нужные вам функции fun1 и fun2 описаны в файле mymodule.py, то пишете:
import mymodule a = mymodule.fun1(b) a = mymodule.fun2(a)
или
from mymodule import fun1, fun2 a = fun1(b) a = fun2(a)
Байт "табулятор" вводится в строку выражением \t, например:
print str(a) + "\t" + str(b)
напечатает значения переменных a и b, разделённые табулятором.
Перенос строки — "\n" в нужном месте строки.
Склеивание строк. Если ml — список, состоящий только из строк, то выражение "\t".join(ml) возвращает строку из элементов списка, "склееных" табулятором (попробуйте!). Терминология: join есть метод объекта типа "строка", принимающий аргумент типа "список".
Форматирование. Если переменная a имеет тип float, то выражение format(a, ".3f") имеет значение строки, выражающей a с тремя знаками после десятичной точки.
Полное описание того, что может стоять в качестве второго аргумента встроенной функции format, см. здесь, но если вы не всё там поняли, сильно не расстраивайтесь :)
В модуле random имеется функция, которая возвращает случайный элемент списка. Найдите её сами с помощью dir и help. Если вам нужно случайное целое число из заданного диапазона, можно применить ту же функцию к результату встроенной функции range (хотя есть и другой способ: в модуле random имеется соответствующая функция).
Запись в файл — метод out.write(строка), где out — файл, открытый на запись командой out = open(имя, "w")