如何使用 for 语句多次运行定义的函数,以便返回复合



我是Python的新手,并且有一个定义函数来加倍数字。 我想使用 for 语句将数字加倍三次。这是来自Dan Bader的Python Basics的第6.3课。 出于某种原因,这个让我难倒了。

下面,我尝试添加:数字 = 数字 * 2 在我的 for 语句之后,但我的结果是204080

def doubles(number):
    """Takes one number as its input and doubles it."""
    double = number * 2
    return double

number = 5

for x in range(0, 3):
    print(doubles(number))

实际结果为:101010

预期成果是:102040

def doubles(number):
    """Takes one number as its input and doubles it."""
    double = number * 2
    return double

number = 5

for x in range(0, 5):
    print(doubles(number))
    number=doubles(number)

听起来您希望number(全局的)保留调用doubles的结果; 所以明确地这样做:

for x in range(0,3):
    number = doubles(number)
    print(number)

您需要像这样将数字相加。"数字 = 数字 + 数字"简称"数字 += 数字"最好我希望当你这样写它时更容易看到它。

number = 5
for x in range(0, 3):
    double =  number * 2
    print(double)
    number += number

您正在递增x,但在此过程中不会更改"数字"的值

def doubles(number):
    """Takes one number as its input and doubles it."""
    double = number * 2
    return double

number = 5

for x in range(0, 3):
    print(doubles(number))
    number*=2

这是最少编码的解决方案。

双打(A):

print(a)
for b in range(1,5):
    b = a * 2
    a = b
    print(a)

双(10)

相关内容

  • 没有找到相关文章

最新更新