我试图创建一个带有交互输入的函数,告诉你脂肪酸(化学化合物)的“微笑”公式是什么,但我一直得到这个错误:
def fatty_gen(chain_length, db_position, db_orientation):
"Returns the SMILES code of the fatty acid, given its chain length, db position, db orientation"
chain_length=input("What is the chain length/number of C?")
chain_length2=int(chain_length)
db_position = input("On which carbon does the double bond first appear")
db_position2=int(db_position)
db_orientation= input("What is the orientation of the double bond")
db_orientation2=str(db_orientation)
if db_orientation2 =="Z":
a="/C=C\\"
elif db_orientation2=="E":
a="\C=C\\"
else: a =""
return "C"*((db_position2)-1) + a + "C"*(chain_length2-db_position2-1)
<ipython-input-2-20b88ae22368> in fatty_gen(chain_length, db_position, db_orientation)
13 a="\C=C\\"
14
---> 15 return "C"*((db_position2)-1) + a + "C"*(chain_length2-db_position2-1)
16 fatty_gen(1,1,1)
UnboundLocalError: local variable 'a' referenced before assignment
UnboundLocalError:赋值之前引用了局部变量“a”
如果
db_orientation2
既不是"Z"
,也不是"E"
a
变量。在您需要像这样添加
else
子句:有人知道为什么反斜杠出现两次,尽管它应该被理解为一个反斜杠?在
相关问题 更多 >
编程相关推荐