Показываю разборы с ответами и решениями урока 2.4 (Строки и символы) для курса «Программирование на Python».
Предыдущий модуль 2.3 следующий модуль 2.5
GC-состав является важной характеристикой геномных последовательностей и определяется как процентное соотношение суммы всех гуанинов и цитозинов к общему числу нуклеиновых оснований в геномной последовательности.
Напишите программу, которая вычисляет процентное содержание символов G (гуанин) и C (цитозин) в введенной строке (программа не должна зависеть от регистра вводимых символов).
Например, в строке «acggtgttat» процентное содержание символов G и C равно 4 / 100 = 40, где 4 — это количество символов G и C, а 10 — это длина строки.
a = input()
res1 = a.upper()
k = res1.count('C')
k2 = res1.count('G')
k3 = int(k) + int(k2)
k4 = res1.count('')
result = (k3 / (k4 - 1)) * 100
print(result) Есть строка s = «abcdefghijk».
В поле ответа через пробел запишите строки (без кавычек), полученные в результате следующих операций:
s = ‘abcdefghijk’
s[3:6]
s[:6]
s[3:]
s[::-1]
s[-3:]
s[:-6]
s[-1:-10:-2]Попробуйте найти ответ к этой задаче, не используя интерпретатор Python. Если без интерпретатора решить не получается, разберитесь, почему выводятся именно такие строки в каждом из вариантов.
s = 'abcdefghijk'
print (s[3:6], end=" ")
print (s[:6], end=" ")
print (s[3:], end=" ")
print (s[::-1], end=" ")
print (s[-3:], end=" ")
print (s[:-6], end=" ")
print (s[-1:-10:-2], end=" ") Ответ: def abcdef defghijk kjihgfedcba ijk abcde kigec
Узнав, что ДНК не является случайной строкой, только что поступившие в Институт биоинформатики студенты группы информатиков предложили использовать алгоритм сжатия, который сжимает повторяющиеся символы в строке.
Кодирование осуществляется следующим образом:
s = ‘aaaabbсaa’ преобразуется в ‘a4b2с1a2’, то есть группы одинаковых символов исходной строки заменяются на этот символ и количество его повторений в этой позиции строки.Напишите программу, которая считывает строку, кодирует её предложенным алгоритмом и выводит закодированную последовательность на стандартный вывод. Кодирование должно учитывать регистр символов.
s = str(input())
l = len(s)-1
c = 1
t = ''
if len(s)==1:
t = t +s+str(c)
else:
for i in range(0,l):
if s[i]==s[i+1]:
c +=1
elif s[i]!=s[i+1]:
t = t + s[i]+str(c)
c = 1
for j in range(l,l+1):
if s[-1]==s[-2]:
t = t +s[j]+str(c)
elif s[-1]!=s[-2]:
t = t +s[j]+str(c)
c = 1
print(t) Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
Почему нет решения последней задачи?