CODE CHALLENGE: Solve the Pattern Matching Problem (restated below).Pattern Matching Problem: Find all occurrences of a pattern in a string. Input: Two strings, Pattern and Genome. Output: All starting positions where Pattern appears as a substring of Genome.Sample Input: ATAT GATATATGCATATACTTSample Output: 1 3 9##надобно вывести номера позиции в Genome, на которых стоит Pattern). Я подолбалась с этим челенжем. ибо вроде у меня все хорошо - а квиз не принимает мое решение - говорит incorrect. Оказалось: мой аутпут был в виде списка через запятую, а надо было строку через пробел. Поменять формат аутпута и все принялось.
Correct! Done!))def pos_reverse(Pattern, Genome): pos = [] for i in range(len(Genome)): if Genome[i:i+len(Pattern)] == Pattern: pos.append(str(i)) return " ".join(pos)print pos_reverse("ATAT", "GATATATGCATATACTT") ==> 1 3 9
На реальных данных для генома вибриона холеры я не могу просчитать эти позиции, поскольку онлайновый питоновский компилятор не принимает строку такой длины - 1.1 Мб текста. Принимает максимум 59675 символов, а в геноме - 1108251. Но даже для того, что приняло - не считает почему-то.. те.е отрабатывает и выдает пустой лист, какбы говорит. что таких последовательностей в этом куске генома как бы нет.. такое может быть? теоретичсеки млжет быть, ибо это 18 часть всего кода.. С этим надо что-то решить..
вівторок, 28 жовтня 2014 р.
Підписатися на:
Дописати коментарі (Atom)
Немає коментарів:
Дописати коментар