从Python

时间:2016-02-24 18:42:22

标签: python-2.7 tkinter

如果我的课程出现问题,或者从另一个函数调用变量/列表,我正在尝试弄清楚。

下面是我按下的按钮调用的函数(在我的主窗口类中):

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)

如果需要更多,很乐意提供帮助。现在就跑去上班。稍后会回复。拜托,谢谢!

1 个答案:

答案 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)