【问题标题】:for ... in range loop not create correctly [closed]for ...在范围循环中无法正确创建[关闭]
【发布时间】:2018-04-28 17:01:13
【问题描述】:

所以,我在一周前再次开始使用 python。我正在尝试创建一个返回三角形数最多为 n 的小函数。但是,我在 for 循环中创建了一个奇怪的故障:

def makeTriangle(s):
    print("S is %d" % s)
    triangle = 0
    for a in range(1,s):
        print("a is: %d " % a)
        triangle = triangle + a
        print("Triangle: %d " % triangle)
        return triangle

n = 3 while n < 10:
    x = makeTriangle(n)
    n+=1

当我运行它时,a 的值永远不会改变 1 - 即使我认为我正在创建一个可以迭代到“n”的列表。我哪里错了?

【问题讨论】:

  • 您的return triangle 缩进不正确。将其移出for 循环。

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


【解决方案1】:
def makeTriangle(s):
    print("S is %d" % s)
    triangle = 0
    for a in range(1,s):
        print("a is: %d " % a)
        triangle = triangle + a
        print("Triangle: %d " % triangle)
    return triangle

n = 3 
while n < 10:
x = makeTriangle(n)
n+=1 

将你的 return 语句放在你的 for 循环之外

【讨论】:

    猜你喜欢
    • 2012-12-05
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    相关资源
    最近更新 更多