我必須實現以下演算法:equation其中「i」包含r、k、h和nterm,「j」包含d、e、c、y和返回淨電荷的正字元m。這種方法被另一種方法用來計算pi,它基本上是產生最低電荷的ph值。在
以下是我目前所掌握的情況:class proteinparam :
aa2mw =
aacomp = {}
aa2chargepos =
aa2chargeneg =
aanterm = 9.69
aacterm = 2.34
def __init__ (self, protein):
l = ''.join(protein).split()
l = ''.join(l).upper()
clean_prot = ""
for aa in l:
if aa in proteinparam.aa2mw:
clean_prot += aa
else:
pass
self.protstring = clean_prot
for i in proteinparam.aa2mw:
proteinparam.aacomp[i] = 0
for aa in self.protstring:
if aa in proteinparam.aacomp:
proteinparam.aacomp[aa] += 1
def aacount (self):
return(len(self.protstring))
def pi (self):
best_charge = 100000000
for test_ph in range (14000):
test_ph += 1
test_ph = (test_ph / 100)
new_charge = self.charge(test_ph)
if new_charge < best_charge:
best_charge = new_charge
return best_charge
def aacomposition (self) :
return proteinparam.aacomp
def charge (self, ph):
self.ph = ph
negative = 0
positive = 0
for pos in ['r', 'k', 'h']:
positive += ((proteinparam.aacomp[pos]) * ((10 ** proteinparam.aa2chargepos[pos]) / (((10 ** proteinparam.aa2chargepos[pos])) + (10 ** self.ph))))
positive += proteinparam.aanterm
for neg in ['d', 'e', 'c', 'y']:
negative += ((proteinparam.aacomp[neg]) * ((10 ** self.ph) / (((10 ** proteinparam.aa2chargeneg[neg])) + (10 ** self.ph))))
negative += proteinparam.aacterm
total = positive - negative
return total
prot_in = input("enter a protein: ")
prot_obj = proteinparam(prot_in)
x = prot_obj.pi()
print(x)
問題是,無論我輸入什麼,當我呼叫pi()時,我總是返回6.35,我不知道問題出在**。我懷疑它在charge()方法中,因為我不知道它在**,而且缺少錯誤並不能縮小它的範圍。輸入「vlspaktnvkaaw」應給出9.88的pi。有什麼想法嗎?在
python四則運算程式 四則運算(Python)
四則運算程式 一 資訊 二.題目要求 寫乙個能自動生成小學四則運算題目的程式,然後在此基礎上擴充套件 除了整數以外,還要支援真分數的四則運算,例如 1 6 1 8 7 24 程式要求能處理使用者的輸入,判斷對錯,累積分數 程式支援可以由使用者自行選擇加 減 乘 除運算 三 import random...
四則運算 python
中綴表示式9 3 2 1 轉為字尾表示式思路9 3 2 1 設立乙個運算子棧和字尾表示式棧 第乙個元素為數字9,加入字尾表示式棧 9 第二個元素為運算子 加入到運算子棧 第三個元素為數字3,字尾表示式棧 9 3 第四個元素為運算子 由於 的優先順序大於棧頂元素 所以將其加入到運算子棧中 第五個元素為...
四則運算(Python)
四則運算程式 一 資訊 部落格班級 作業要求 作業目標 完成四則運算的基本內容 學號3190704135 二.題目要求 寫乙個能自動生成小學四則運算題目的程式,然後在此基礎上擴充套件 1除了整數以外,還要支援真分數的四則運算,例如 1 6 1 8 7 24 2程式要求能處理使用者的輸入,判斷對錯,累...