nové programové tu.
V jazyku python som budovania skript, ktorý umožňuje zadať buffer pH a aminokyselina troch písmeno kód. Výstup by vám ďalšie aminokyseliny, ktoré by mali mať elektrostatické interakcie s. Prvá iterácia sa zdá, že funguje, ale potom to prestane vracať žiadny výstup, bez ohľadu na to, aké parametre sú zapísané. Môj odhad je, že nejako boolean hodnoty sú nahradené alebo niečo. Existuje spôsob, ako pre každú iteráciu začať úplne čerstvé? Rád by som sa používateľ mohol pokračovať v zadávaní parametrov a majú výstup nie je dotknutá na všetkých v predchádzajúcej iterácii.
Tu je kód (prepáč, ak je to chaotický):
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
Vďaka vopred!