Spyder не сообщает мне местонахождение ошибки или ошибок при отладке.это говорит ipdb> дважды на двух отдельных строках.
Я пробовал гуглить, что делать с ipdb, потому что он, кажется, позволяет запускать код через консоль, но что касается аффективной отладки таким образом ...
Мне нужноиспользовать чистую функцию и основную функцию, но сейчас кажется, что большая часть моего кода чистой функции кажется излишней, потому что я не уверен, как сбалансировать вызов функции внутри функции с наличием двух отдельных функций, переменные которых всеопределены и признаны в Python.
def main (mylist):
n= input("Enter number of binding sites:")
K= input("Enter binding site constant:")
x = input("Input genetic factor:")
a = input("Enter epigenetic correction: ")
for mylist in PaulingEq():
H=0 #Normal range in men 13.5-17.5 grams/deciliter
print("Number of binding sites: ", n)
print("Binding site constant: ", K)
print("Genetic factor: ", x)
print("Hemoglobin count: ", H = n/4)
print("Epigenetic correction: ", a)
print("\n")
if n%4 != 0:
response=input("Abnormal blood sample, enter y/n to continue: ")
if response=='y':
continue
print("Proceeding with calculations")
else:
print("Canceling program")
return
mylist = []
Y = ((1/n)*(K*x)+(3*a*K**2)*(x**2)+(3*a**3)*(K**3)*(x**3)+(a**6)*(K**4)*(x**4) ) / ( 1+ 4*K*(x)+(6*a*(K**2)*(x**2))+(4*a**3)*(K**3)*(x**3)+(a**6)*(K**4)(x**4) )
mylist= list.append(n,K,x,H,a,Y)
mylist= list.append(n,K,x,H,a,Y)
#n=mylist.pop(0)
#K=mylist.pop(1)
#x=mylist.pop(2)
#H=mylist.pop(3)
#a=mylist.pop(4)
Y=mylist.pop(5)
print("Oxygen affinity:", Y)
if __name__ == "__main__":
main(mylist)
def PaulingEq ():
#Interpretation of Adair's equation
BiSi_open = True
while BiSi_open:
#The equation assumes subunits are arranged in a square
#The equation provides a tetrahedral structure
#n= num_bisi #number of binding sites
#K= bisi_k #binding site constant
#x= genetic_factor
#Y= Oxygen_aff
#H= Hemoglobin_count
#a= epigenetic factors
for mylist in main(): #four oxygens for four binding sites in hemoglobin
n=mylist.pop(0)
K=mylist.pop(1)
x=mylist.pop(2)
a=mylist.pop(4)
H=mylist.pop(3)
for mylist in main():
Y = ((1/n)*(K*x)+(3*a*K**2)*(x**2)+(3*a**3)*(K**3)*(x**3)+(a**6)*(K**4)*(x**4) ) / ( 1+ 4*K*(x)+(6*a*(K**2)*(x**2))+(4*a**3)*(K**3)*(x**3)+(a**6)*(K**4)(x**4) )
mylist = []
mylist= list.append(n,K,x,H,a,Y)
BiSi_open=False
return mylist