我是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)