首页 > 解决方案 > 如何将方法的返回语句存储在变量中?(Python)

问题描述

我对 OOP(以及 python)很陌生,所以我正在构建类似于 Enigma 机器的东西。我的问题是:我不知道如何访问 randomizer 方法的 return 语句。我需要它才能获得随机的字符列表。

class generators():

    global static_alphabet,backup_alphabet,encripting_dict,decripting_dict, mutable_alphabet

    static_alphabet=['a','á', 'b', 'c', 'd', 'e','é', 'f', 'g', 'h', 'i','í', 'j', 'k', 'l', 'm', 'n', 'o','ó','ö','ő', 'p', 'q', 'r', 's', 't', 'u','ú','ü','ű','v', 'w', 'x', 'y', 'z',"'",'"','@',':','_','.','-',',','!']
    backup_alphabet=['a','á', 'b', 'c', 'd', 'e','é', 'f', 'g', 'h', 'i','í', 'j', 'k', 'l', 'm', 'n', 'o','ó','ö','ő', 'p', 'q', 'r', 's', 't', 'u','ú','ü','ű', 'v', 'w', 'x', 'y', 'z',"'",'"','@',':','_','.','-',',','!']
    mutable_alphabet=[]

    def randomizer(self):

        mutable_alphabet=[]
        import random

        for element in static_alphabet:

            randletter=backup_alphabet[random.randint(0,len(backup_alphabet)-1)]

            while randletter==element:

                randletter=backup_alphabet[random.randint(0,len(backup_alphabet)-1)]
                if randletter!=element:
                    break

            mutable_alphabet.append(randletter)
            backup_alphabet.remove(randletter)
        return mutable_alphabet

标签: pythonoop

解决方案


基本上,您正在尝试访问 a 内的函数 ( def) 内的 return 语句class。虽然您的代码目前似乎没有被构造为利用 OOP,但您可以在同一文件中运行该函数:

class generators():
    ...your code...

gen = generators()
outputArray = gen.randomizer()

# confirm output by printing it out
print( outputArray )

正如我在上面试图说明的那样,这需要放在课堂之外。


推荐阅读