Чтоб кодить по курсу Алгоритмы в биоинформатике мне нужон язык программирования и выбор пал на Питон. Ибо Питон по мнению Хабра - это самое оно.
На кодекадеми допройду курс по Питону.. но мне уже нужна среда с интрепретатором под Винду, ибо линукс на ноуте у меня позорно пал, а переформатировать диск, переразбить разделы и переставить ОСы как положено - лень и .. лень. И слабая вера в свои силы. И лень.
Забвываются все фичи по конструкциям языка очень быстро. Можно даже сказать - резко. Два дня не кодить - и с чистыми мозгами нужно глядеть в мануал (+ втом, что знаю, что там искать. т.е. улетучиваются детали образов и форм - суть и понятия остаются навечно О_о это радует).
ЙФ-ция реверса произвольной строки моего производства на питоне:
def reverse(text):
res = []
last = len(text) - 1
for i in range(0,len(text)):
res.append(text[last])
last -=1
return "".join(res)
print reverse("REVERSE STRING!!! with spaces, digits 123 and special characters !, @, or # ")
output: # ro ,@ ,! sretcarahc laiceps dna 321 stigid ,secaps htiw !!!GNIRTS ESREVER
None
В самом питоне есть ф-ции для реверса строк : reversed or [::-1] (их недостаток - нельзя чтоб строка содержала пробелы, нельзя чтоб строка содержала спец символы)
Йф-ция вырезания гласных:
def anti_vowel(text):
#лузерский метод тыка - работает
res = text
res = res.replace("a", "")
res = res.replace("e", "")
res = res.replace("o", "")
res = res.replace("i", "")
res = res.replace("u", "")
res = res.replace("A", "")
res = res.replace("E", "")
res = res.replace("O", "")
res = res.replace("I", "")
res = res.replace("U", "")
return res
#метод, подсказанный в подсказке - работает
for i in text:
if i in "aeiouAEIOU":
res = res.replace(i, "")
return res
#метод перебора эелементов строки и удаления по факту совпадения - не работает, ибо говрит, что у строки нет метода поп О_о переводить строку в лист?
''' for i in text:
if i == "a" or i == "e" or i == "i" or i == "o" or i == "u" or i == "A" or i == "E" or i == "I" or i == "O" or i == "U":
res.pop(text.index(i))
return "".join(res)
'''
print anti_vowel("Hello OLOLOLO ALALA ILILI ELELE ILILI ULULU")
И вот наконецто код для определения расстояния Хемминга(нужен мне для квиза по чаптеру1 на курсе):
На кодекадеми допройду курс по Питону.. но мне уже нужна среда с интрепретатором под Винду, ибо линукс на ноуте у меня позорно пал, а переформатировать диск, переразбить разделы и переставить ОСы как положено - лень и .. лень. И слабая вера в свои силы. И лень.
Забвываются все фичи по конструкциям языка очень быстро. Можно даже сказать - резко. Два дня не кодить - и с чистыми мозгами нужно глядеть в мануал (+ втом, что знаю, что там искать. т.е. улетучиваются детали образов и форм - суть и понятия остаются навечно О_о это радует).
ЙФ-ция реверса произвольной строки моего производства на питоне:
def reverse(text):
res = []
last = len(text) - 1
for i in range(0,len(text)):
res.append(text[last])
last -=1
return "".join(res)
print reverse("REVERSE STRING!!! with spaces, digits 123 and special characters !, @, or # ")
output: # ro ,@ ,! sretcarahc laiceps dna 321 stigid ,secaps htiw !!!GNIRTS ESREVER
None
В самом питоне есть ф-ции для реверса строк : reversed or [::-1] (их недостаток - нельзя чтоб строка содержала пробелы, нельзя чтоб строка содержала спец символы)
Йф-ция вырезания гласных:
def anti_vowel(text):
#лузерский метод тыка - работает
res = text
res = res.replace("a", "")
res = res.replace("e", "")
res = res.replace("o", "")
res = res.replace("i", "")
res = res.replace("u", "")
res = res.replace("A", "")
res = res.replace("E", "")
res = res.replace("O", "")
res = res.replace("I", "")
res = res.replace("U", "")
return res
#метод, подсказанный в подсказке - работает
for i in text:
if i in "aeiouAEIOU":
res = res.replace(i, "")
return res
#метод перебора эелементов строки и удаления по факту совпадения - не работает, ибо говрит, что у строки нет метода поп О_о переводить строку в лист?
''' for i in text:
if i == "a" or i == "e" or i == "i" or i == "o" or i == "u" or i == "A" or i == "E" or i == "I" or i == "O" or i == "U":
res.pop(text.index(i))
return "".join(res)
'''
print anti_vowel("Hello OLOLOLO ALALA ILILI ELELE ILILI ULULU")
И вот наконецто код для определения расстояния Хемминга(нужен мне для квиза по чаптеру1 на курсе):
def hamdist(str1, str2): """Count the # of differences between equal length strings str1 and str2""" diffs = 0 for ch1, ch2 in zip(str1, str2): if ch1 != ch2: diffs += 1 return diffs
и результат сей магии для строк
CAGAAAGGAAGGTCCCCATACACCGACGCACCAGTTTA and CACGCCGTATGCATAAACGAGCCGCACGAACCAGAGAG.
=== 23
после пятого вопроса мне понадобилось почитать о чем меня просят? (придется таки вникнуть в теорию)
в целом: занятно
Немає коментарів:
Дописати коментар