有点卡在这个功能上。
我能够让它运行但第二步我需要将结果添加到一起。所以它会是
以下是我的代码我只是不确定如何构建它以获得我寻求的结果。
n = int(input("n = "))
if i in range(n):
x = str(i)
print(sum(x))
n = 5
追踪(最近一次呼叫最后一次):
File "<ipython-input-17-95a1e729596f>", line 4, in <module>
print(sum(x))
TypeError: unsupported operand type(s) for +: 'int' and 'str'
答案 0 :(得分:2)
您无法真正使用sum()
中的内置for-loop
功能来添加range
中的数字。您可以完全忘记循环或添加到变量(s
):
n = int(input("n = "))
s = 0
for i in range(n):
s += i
print(s)
因此,当我输入n = 5
时,输出为总和:
0
1
3
6
10
正如本文开头所述,我提到您可以在不使用loop
的情况下执行此操作。那么,您将如何做到这一点:
n = int(input("n = "))
print(sum(range(n))
当n = 5
仅print
10
的总和时。
哦,最后一点是您不需要将整数(i
中的for-loop
)转换为string
,以便{{1}它。
答案 1 :(得分:0)
我会保持简单,避免循环,并使用Python提供的资源:
n = int(input("n = "))
print(*range(n), sep=' + ', end=' = ')
print(sum(range(n)))
USAGE
% python3 test.py
n = 5
0 + 1 + 2 + 3 + 4 = 10
%
答案 2 :(得分:0)
我想你可以做到以下几点。
首先,请求输入,并将给定的数字从字符串转换为整数。
n = int(input("N = "))
然后,打印从0到n-1的范围之和。
print(sum(range(n)))
希望这是你所要求的!