【问题标题】:I can't make this in to a for loop我无法将其放入 for 循环
【发布时间】:2020-03-22 00:17:08
【问题描述】:

我无法从中创建一个 for 循环 所有这些 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)

但它不起作用

【问题讨论】:

  • 请添加更多详细信息,例如您面临的错误。
  • “它不起作用”没有帮助。请解释究竟是什么不起作用。

标签: python python-3.x list loops for-loop


【解决方案1】:

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

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)

【讨论】:

    【解决方案2】:

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

    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)
    

    【讨论】:

      猜你喜欢
      • 2013-07-02
      • 2021-05-09
      • 2012-08-02
      • 2020-03-01
      • 1970-01-01
      • 2016-11-25
      • 2015-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多