Python - 函数不返回变量(字符串)

Python - function is not returning variable (string)

我对 Python 很陌生,这是我 CS 课程中的编程项目。除了最后一行代码:

之外,该代码似乎可以完美运行
 return finalWord

没有return任何东西。我尝试将其替换为:

 print(finalWord)

它确实正确打印了所有内容。

基本上在程序中,我必须创建一个伪随机生成数字的 Random class,然后在 class Nonce 中,向字典中添加几个不同的单词,并使用字典,创建新的随机单词。

class Random:

    def __init__(self, seed):
        self.seed = seed

    def next(self, range):
        self.seed = (7 ** 5 * self.seed) % (2 ** 31 - 1)
        return self.seed % range

    def choose(self, objects):
        return objects[self.next(len(objects))]

class Nonce:

    def __init__(self, seed):
        self.first = []
        self.follow = {}
        self.random = Random(seed)

    def add(self, word):
        self.first += [word[0]]
        for x in range(0, len(word) - 1):
            self.follow.setdefault(word[x], []).append(word[x + 1])
        return None

    def make(self, size):
        nextLetter = self.random.choose(self.first)
        finalWord = nextLetter

        for x in range(1, size):
            if nextLetter in self.follow:
                followList = self.follow[nextLetter]
                nextLetter = self.random.choose(followList)
                finalWord += nextLetter
            else:
                finalWord += self.random.choose(self.first)

        return finalWord

potato = Nonce(101)
potato.add('python')
potato.add('java')
potato.add('html')
potato.make(5)

提前致谢。

如果您直接调用该函数,则必须对返回值执行某些操作(如打印)或将其存储在变量中供以后使用。代码是 "not working" 因为您永远不会调用该函数,至少在您提供的摘录中不会。

正在打印响应:

print(instance_name.make())

将其存储在变量中:

variable_name = instance_name.make())

代码是 class 的实例被调用的地方 instance_name

在你的代码中,你写了potato.make(5)。该函数运行,但不打印任何内容或将其存储在变量中。要打印响应,您需要执行以下操作:

print(potato.make(5))