Python 我不能把这个加入到for循环中

Python 我不能把这个加入到for循环中,python,python-3.x,list,loops,for-loop,Python,Python 3.x,List,Loops,For Loop,我不能把这件事搞清楚 所有这些while循环都应该在一个for循环中 这是类的一部分,这就是为什么使用self self.task1 = "" self.task2 = "" self.task3 = "" self.task4 = "" self.task5 = "" self.tasks = [self.task1, self.task2, self.task3, self.task4, self.task5] while True: num1 = random.randint(0

我不能把这件事搞清楚 所有这些while循环都应该在一个for循环中 这是类的一部分,这就是为什么使用self

self.task1 = ""
self.task2 = ""
self.task3 = ""
self.task4 = ""
self.task5 = ""
self.tasks = [self.task1, self.task2, self.task3, self.task4, self.task5]

while True:
    num1 = random.randint(0, 10)
    num2 = random.randint(0, 10)
    if num1 + num2 <= 10:
        break
self.task1 = "{} + {} =".format(num1, num2)

while True:
    num1 = random.randint(0, 10)
    num2 = random.randint(0, 10)
    if num1 + num2 <= 10:
        break
self.task2 = "{} + {} =".format(num1, num2)

while True:
    num1 = random.randint(0, 10)
    num2 = random.randint(0, 10)
    if num1 + num2 <= 10:
        break
self.task3 = "{} + {} =".format(num1, num2)

while True:
    num1 = random.randint(0, 10)
    num2 = random.randint(0, 10)
    if num1 + num2 <= 10:
        break
self.task4 = "{} + {} =".format(num1, num2)

while True:
    num1 = random.randint(0, 10)
    num2 = random.randint(0, 10)
    if num1 + num2 <= 10:
        break
self.task5 = "{} + {} =".format(num1, num2)
我试着这样做:

for task in self.tasks:
    while True:
    num1 = random.randint(0, 10)
    num2 = random.randint(0, 10)
    if num1 + num2 <= 10:
        break
task = "{} + {} =".format(num1, num2)

但它不起作用

您需要在循环中缩进代码:

for task in self.tasks:
    while True:
        num1 = random.randint(0, 10)
        num2 = random.randint(0, 10)
        if num1 + num2 <= 10:
            break
    task = "{} + {} =".format(num1, num2)

您可以创建一个单独的方法:

for task in self.tasks:
    task = randomTask()

...

def randomTask():
    while True:
        num1 = random.randint(0, 10)
        num2 = random.randint(0, 10)
        if num1 + num2 <= 10:
            break
    return "{} + {} =".format(num1, num2)

请添加更多详细信息,如您面临的错误。它不起作用也没有帮助。请解释到底什么是不起作用的。