nové programování.
V pythonu jsem budování skript, který umožňuje, aby jeden zadat pufru pH a aminokyseliny tři dopis kód. Výstup by měl říct další aminokyseliny, které je třeba mít elektrostatické interakce. První iterace se zdá fungovat, nicméně poté, co přestane vracet žádný výstup bez ohledu na to, jaké parametry jsou zadány. Můj odhad je, že nějak logické hodnoty jsou nahrazovány novými nebo tak něco. Existuje způsob, jak pro každou iteraci začít zcela čerstvé? Rád bych si uživatel bude moci pokračovat v zadávání parametrů a výstup nemusí být vliv na všechny předchozí iterace.
Tady je kód (omlouvám se, pokud je to špinavé):
aaDic = {
'Arg': 12.48,
'Asp': 3.90,
'Cys': 8.37,
'Glu': 4.07,
'His': 6.04,
'Lys': 10.54,
'Tyr': 10.46,
}
while True:
x = input("Enter pH of buffer: ")
y = input("Enter three letter code for an amino acid: ")
if float(x) > float(aaDic[y]):
ProtonationInput = True
elif float(x) < float(aaDic[y]):
ProtonationInput = False
print("\n")
print("Is your amino acid,", y, ", protonated?", ProtonationInput, "\n")
print("At pH", x, y, "likely interacts with the following residues: \n")
for aa in aaDic.keys():
if float(x) > float(aaDic[aa]):
aaDic[aa] = True
elif float(x) < float(aaDic[aa]):
aaDic[aa] = False
#print(aa, aaDic[aa], "\n")
for aa in aaDic.keys():
if ProtonationInput == True:
if aaDic[aa] == False:
print(aa, "\n")
elif ProtonationInput == False:
if aaDic[aa] == True:
print(aa, "\n")
continue
Díky předem!