添加可变数量的变量
Adding variable amounts of variables
我的变量个数不定,想要变量之和怎么办?
例如
import random
X = random.randint(1, 25)
Y = random.randint(1, 5) + X
for A in range(X, Y):
W = random.randint(1, 10) # you want sum of all W produced
# W = W+W --> will not work
从这个非常随机的系统中,我想提取所有 W 的总和。
W = W + W 这样的东西是行不通的,前一个结果的值无法存储
我希望您不要编辑之前给定的部分并得到答案,因为我已尝试将代码重构为更小。
这个问题来自一个更大的代码,我没有使用范围
W += ...
import random
X = random.randint(1, 25)
Y = random.randint(1, 5) + X
W = 0
for A in range(X, Y):
W += random.randint(1, 10)
print(W)
基于@Sembei Norimaki回答
您甚至不需要 for 循环,只需对生成器表达式求和即可。
import random
X = random.randint(1, 25)
Y = random.randint(1, 5) + X
W = sum(random.randint(1, 10) for _ in range(X, Y))
如果您提供的所有代码行都必须保持完整,您可以执行以下操作:
import random
X = random.randint(1, 25)
Y = random.randint(1, 5) + X
S = 0
for A in range(X, Y):
W = random.randint(1, 10) # you want sum of all W produced
S += W
我的变量个数不定,想要变量之和怎么办? 例如
import random
X = random.randint(1, 25)
Y = random.randint(1, 5) + X
for A in range(X, Y):
W = random.randint(1, 10) # you want sum of all W produced
# W = W+W --> will not work
从这个非常随机的系统中,我想提取所有 W 的总和。
W = W + W 这样的东西是行不通的,前一个结果的值无法存储
我希望您不要编辑之前给定的部分并得到答案,因为我已尝试将代码重构为更小。 这个问题来自一个更大的代码,我没有使用范围 W += ...
import random
X = random.randint(1, 25)
Y = random.randint(1, 5) + X
W = 0
for A in range(X, Y):
W += random.randint(1, 10)
print(W)
基于@Sembei Norimaki回答
您甚至不需要 for 循环,只需对生成器表达式求和即可。
import random
X = random.randint(1, 25)
Y = random.randint(1, 5) + X
W = sum(random.randint(1, 10) for _ in range(X, Y))
如果您提供的所有代码行都必须保持完整,您可以执行以下操作:
import random
X = random.randint(1, 25)
Y = random.randint(1, 5) + X
S = 0
for A in range(X, Y):
W = random.randint(1, 10) # you want sum of all W produced
S += W