这很简单 TypeError 但是 :(

It's simple TypeError but :(

你好,我是 Python 的新人。

我正在尝试制作一个随机迭代器。但是我收到 TypeError ,我不知道为什么 :( 我通常会看到它什么时候有这样的错误缓解,但这次我没有弄错。 提前谢谢你

输入

import random


class RandomInts:
    def __init__(self, length, *, seed=0, lower=0, upper=10):
        self.length = length
        self.seed = seed
        self.lower = lower
        self.upper = upper

    def __len__(self):
        return self.length

    def __iter__(self):
        return self.RandomIterator(self.length,
                                   seed=self.seed,
                                   lower=self.lower,
                                   upper=self.upper)

    class RandomIterator:
        def __iter__(self, length, *, seed, lower, upper):
            self.length = length
            self.lower = lower
            self.upper = upper
            self.num_requested = 0
            random.seed(seed)

        def __iter__(self):
            return self

        def __next__(self):
            if self.num_requested >= self.length:
                raise StopIteration
            else:
                result = random.randint(self.lower, self.upper)
                self.num_requested += 1
                return result

randoms = RandomInts(10)

for num in randoms:
    print(num)

输出

Traceback (most recent call last):
  File "E:\Python_Learning\Avanced_sorting_iterables\sorting_iterables_1.py", line 42, in <module>
    for num in randoms:
  File "E:\Python_Learning\Avanced_sorting_iterables\sorting_iterables_1.py", line 15, in __iter__
    return self.RandomIterator(self.length,
TypeError: RandomIterator() takes no arguments

你是说 def __iter__(self, length, *, seed, lower, upper): 要么 def __init__(self, length, *, seed, lower, upper):RandomIterator?