Я хочу создать вывод с использованием python в порядке убывания значения «f». То есть самое большое значение «f», рассчитанное программой, должно быть напечатано первым и так далее ...Печать в порядке убывания Python
Вот код.
q=[-5.23,-0.22,3.35,-3.9,0.59,5.76,-3.27,2.95,0.68,-2.65,2.6,1.87,-0.68,2.77,0,-3.92,0,0.06,4.17];
w=[15.1,1.11,-0.85,0.00,-0.47,-4.00,3.63,-2.29,-1.96,1.16,0.00,-4.09,-2.77,-0.27,-2.14,1.86,0,2.32,-2.61];
e=[1.04,0,0,3.91,-0.53,-1.75,1.88,1.88,-0.22,2.81,0,-0.91,1.96,2.62,-2.67,0,0.06,-1.95,0.58,0];
r=[-6.8,0,-2.73,-1.81,1.38,1.76,0,-1.79,4.22,-1.3,-4.13,4.62,0,-0.66,6.2,-1.69,3.12,0.93,0];
import re
i=0;s=0;f=0;k=0;l=0;c=0;
regex = re.compile("(?=(AA[TCG].{20}))")
Str1=raw_input('get::')
l=regex.findall(xy)
for x in range(len(l)):
kl=l[x];c=kl[2:21];n=len(c);rest=kl[21:]
while(i<n):
f=0
if(c[i]=='A'):
s=q[i];
elif(c[i]=='G'):
s=w[i];
elif(c[i]=='C'):
s=e[i];
elif(c[i]=='T'):
s=r[i];
i+=1
f+=s
GC=c.count('G')+c.count('C')
GC_p=GC*100/19
if(f>0 and GC_p>=45 and GC_p<=55):
print '======================================================================'
print 'AA-'+c+'-'+rest
print 'Score=',f
print 'GC%=',float(GC_p)
print 'SENSE RNA=AA-'+c[::-1]+'-'+rest
print 'ANTI-SENSE RNA=AA-'+c.replace('A','U').replace('C','G').replace('G','C').replace('U','A')+'-'+rest
print '======================================================================='
print ('\r\n')
GC=0
k+=1
i=0
h=raw_input('Enter to continue')
Я попытался добавить значение f в список и отсортировать его в порядке убывания. Но он только ставит значение f в список и печатает его [''], как это, и все это не сортируется.
Мне нужна помощь в этом отношении. Спасибо!
И вы хотите, чтобы написать код для вас? Что вы * попробовали? – Cairnarvon
@Cairnarvon Я попытался использовать значения f в списке, используя append и отсортировать их .. но это не сортирует все. –
Необходимо также исправить форматирование. – Hoopdady