Python 如何使用for循环查找固定数的倍数?
几天前我刚开始使用python,需要一些帮助 使用for循环,我希望得到以下结果:Python 如何使用for循环查找固定数的倍数?,python,python-3.x,Python,Python 3.x,几天前我刚开始使用python,需要一些帮助 使用for循环,我希望得到以下结果: 2 8 32 128 我尝试的是: x = 2 y = 4 for x in range (y): x = 4 * x print(x) 我预计产量为 2 8 32 128 但是我得到了 0 4 8 12 可能最简单的方法是: >>> y = 4 >>> x = 2 >>> for i in range(y): ... pri
2
8
32
128
我尝试的是:
x = 2
y = 4
for x in range (y):
x = 4 * x
print(x)
我预计产量为
2
8
32
128
但是我得到了
0
4
8
12
可能最简单的方法是:
>>> y = 4
>>> x = 2
>>> for i in range(y):
... print(x * y**i)
...
2
8
32
128
正如其他人提到的,您正在将范围(y)输出的值分配给x,这会导致您出现问题。最简单的方法可能是:
>>> y = 4
>>> x = 2
>>> for i in range(y):
... print(x * y**i)
...
2
8
32
128
x=2
y=4
for i in range(1,y+1):
print(x)
x = x * 4
正如其他人提到的,您正在将范围(y)输出的值指定给x,这会导致您出现问题
x=2
y=4
for i in range(1,y+1):
print(x)
x = x * 4
输出:
2
8
32
128
输出:
2
8
32
128
对于范围(y)中的x:
意味着x
将被分配以下值:0,1,2,3(因此它与x
的初始化无关-这不是一个固定的数字)将范围(y)中的x:替换为范围(y)中的i:,尽管最具python风格的解决方案类似于print('\n'.join(str(2**k)表示范围(1,8,2)内的k))
尝试在循环顶部打印x
,看看这是否有助于解释发生了什么。@Scott。这是一个很好的建议,但前提是它不是循环variable@MadPhysicist:这并不是为了解决问题(事实并非如此),而是为了突出问题。用于范围(y)中的x:
意味着x
将被分配以下值:0,1,2,3(因此它与x
的初始化无关-这不是一个固定的数字)将范围(y)中x的替换为范围(y)中i的,
,尽管最具python风格的解决方案类似于print('\n'.join(str(2**k)对于范围(1,8,2))内的k
尝试在循环的顶部打印x
,看看这是否有助于解释发生了什么。@Scott。这是一个很好的建议,但前提是它不是循环variable@MadPhysicist:这并不是为了解决问题(事实并非如此),而是强调问题。我相信他实际上是在做y次,而不是y次乘以y你是说乘法(4)右边的数字是一个常数。他想知道如何将这个常数乘以y次?如果是这样,他可以将循环改为:对于范围(y)内的I:print(x*4**I)
。它将迭代y次。是的,这就是我要说的。我想打印以x=2开始的序列,序列中的每个元素都是前一个数字的4倍。并且条目的数量等于y=4。我相信他实际上是在做y次,而不是y乘以x乘以yYo你是说乘法(4)右边的数字是一个常数。他想知道如何将这个常数乘以y?如果是这样,他可以将循环改为:for i in range(y):print(x*4**i)
。它将迭代y次。是的,这就是我要说的。我想打印以x=2开始的序列,序列中的每个元素都是它前面的数字的4倍。并且条目的数量等于y=4。对于Do-t-car,使用\uucode>而不是I
是一种很好的做法e变量。对于不关心的变量,最好使用\uu
而不是i
。