如果我的课程出现问题,或者从另一个函数调用变量/列表,我正在尝试弄清楚。
下面是我按下的按钮调用的函数(在我的主窗口类中):
def analyzeRNA(self):
self.p = self.textbox.get("1.0", END)
protein_assignment(self.p)
self.data = primary_structure
self.databox.insert(END, self.data)
它从我的文本框中读取就好了。它在它上面执行我的函数protein_assignment,并将结果打印到python shell中,就像在函数中一样。它打印我在protein_assignment中创建的列表,该列表称为primary_structure。现在,如何将这些信息放入我的数据库(也可以说是“文本框”)
我的错误:
第86行,在analyzeRNA中 self.data = primary_structure
NameError:未定义全局名称“primary_structure”
蛋白质分配大纲:
def protein_assignment(sequence):
x = 0
primary_structure = []
single_letter_assignment = []
three_letter_code = []
chemical_properties = []
while True:
blah, blah, blah adding amino acids to the list, running through sequence
"if nothing else in sequence, print lists and break"
return primary_structure #(Not sure if this is needed)
return primary_structure #(Not sure what I'm doing here either)
如果需要更多,很乐意提供帮助。现在就跑去上班。稍后会回复。拜托,谢谢!
答案 0 :(得分:0)
primary_structure
返回 protein_assignment
,因此要在analyzeRNA
中保留对它的引用,您只需要执行此操作:
def analyzeRNA(self):
self.p = self.textbox.get("1.0", END)
returned_value = protein_assignment(self.p)
self.data = returned_value
self.databox.insert(END, self.data)
或者你只是将它设置为self.data
:
def analyzeRNA(self):
self.p = self.textbox.get("1.0", END)
self.data = protein_assignment(self.p)
self.databox.insert(END, self.data)