[已解决]我似乎无法像他们在[这篇文章] [1]中所说的那样使它正常工作,直到我添加了“ BfToAA”部分(它是经过修改的副本)之前,它一直在工作对于“ BfToARN”,我认为我没有遇到任何错误,因为此全局修补程序已经足够了,我接下来将所有代码留给您看,也许就如何使其工作提供建议。
#This is my "main"
def ElegirCamino():
#here you can input your brainF*ck code that is going to be translated
print("Inserte usted su código en notación especificada en el README.txt")
códigoBf = input()
#here the code is sent to be translated to ARN by the convention that I've made.
i=0
print("El anterior código traducido a ARN según los datos datos en el README.txt es:")
while i<len(códigoBf):
BfToARN(códigoBf[i], i)
i += 1
códigoARN = códigoARN + "UAA"
print(códigoARN)
#here the code is sent to be translated to nucleic acids by the convention that I've made.
i=0
print("Lo que en ácidos nucléicos es:")
while i<len(códigoBf):
BfToAA(códigoBf[i], i)
i += 1
códigoAA = códigoAA + "STOP"
print(códigoAA)
def BfToARN(Bf, i):
if i==0:
global códigoARN
códigoARN = "AUG"
if(Bf == '+'):
códigoARN = códigoARN + "UUU"
elif(Bf == '-'):
códigoARN = códigoARN + "UUA"
elif(Bf == '.'):
códigoARN = códigoARN + "UCU"
elif(Bf == ','):
códigoARN = códigoARN + "UAU"
elif(Bf == '['):
códigoARN = códigoARN + "UGU"
elif(Bf == ']'):
códigoARN = códigoARN + "UGG"
elif(Bf == '<'):
códigoARN = códigoARN + "CCU"
elif(Bf == '>'):
códigoARN = códigoARN + "CGU"
else:
print(" ERROR. Se esperaba uno de los caracteres del lenguaje Bf pero se ha encontrado un: \""+ Bf + "\"")
def BfToAA(Bf, i):
if i==0:
global códigoAA
códigoAA = "Met "
if(Bf == '+'):
códigoAA = códigoAA + "Phe "
elif(Bf == '-'):
códigoAA = códigoAA + "Leu "
elif(Bf == '.'):
códigoAA = códigoAA + "Ser "
elif(Bf == ','):
códigoAA = códigoAA + "Tyr "
elif(Bf == '['):
códigoAA = códigoAA + "Cys "
elif(Bf == ']'):
códigoAA = códigoAA + "Trp "
elif(Bf == '<'):
códigoAA = códigoAA + "Pro "
elif(Bf == '>'):
códigoAA = códigoAA + "Arg "
else:
print(" ERROR. Se esperaba uno de los caracteres del lenguaje Bf pero se ha encontrado un: \""+ Bf + "\"")
ElegirCamino()
感谢大家的帮助和帮助,我在这里误解了我的错误。[1]:https://es.stackoverflow.com/questions/171863/local-variable-referenced-before-assignment
您的主要错误是在条件语句中分配全局变量,而在“ main”函数中不包含全局关键字。我修改了您的代码以使其运行。请注意全局关键字在两个函数中的位置。
#This is my "main"
def ElegirCamino():
global códigoARN
global códigoAA
#here you can input your brainF*ck code that is going to be translated
print("Inserte usted su código en notación especificada en el README.txt")
códigoBf = input()
#here the code is sent to be translated to ARN by the convention that I've made.
i=0
print("El anterior código traducido a ARN según los datos datos en el README.txt es:")
while i<len(códigoBf):
BfToARN(códigoBf[i], i)
i += 1
códigoARN = códigoARN + "UAA"
print(códigoARN)
#here the code is sent to be translated to nucleic acids by the convention that I've made.
i=0
print("Lo que en ácidos nucléicos es:")
while i<len(códigoBf):
BfToAA(códigoBf[i], i)
i += 1
códigoAA = códigoAA + "STOP"
print(códigoAA)
def BfToARN(Bf, i):
global códigoARN
if i==0:
códigoARN = "AUG"
if(Bf == '+'):
códigoARN = códigoARN + "UUU"
elif(Bf == '-'):
códigoARN = códigoARN + "UUA"
elif(Bf == '.'):
códigoARN = códigoARN + "UCU"
elif(Bf == ','):
códigoARN = códigoARN + "UAU"
elif(Bf == '['):
códigoARN = códigoARN + "UGU"
elif(Bf == ']'):
códigoARN = códigoARN + "UGG"
elif(Bf == '<'):
códigoARN = códigoARN + "CCU"
elif(Bf == '>'):
códigoARN = códigoARN + "CGU"
else:
print(" ERROR. Se esperaba uno de los caracteres del lenguaje Bf pero se ha encontrado un: \""+ Bf + "\"")
def BfToAA(Bf, i):
global códigoAA
if i==0:
códigoAA = "Met "
if(Bf == '+'):
códigoAA = códigoAA + "Phe "
elif(Bf == '-'):
códigoAA = códigoAA + "Leu "
elif(Bf == '.'):
códigoAA = códigoAA + "Ser "
elif(Bf == ','):
códigoAA = códigoAA + "Tyr "
elif(Bf == '['):
códigoAA = códigoAA + "Cys "
elif(Bf == ']'):
códigoAA = códigoAA + "Trp "
elif(Bf == '<'):
códigoAA = códigoAA + "Pro "
elif(Bf == '>'):
códigoAA = códigoAA + "Arg "
else:
print(" ERROR. Se esperaba uno de los caracteres del lenguaje Bf pero se ha encontrado un: \""+ Bf + "\"")
ElegirCamino()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句