Python在范围之后添加字符串

时间:2017-12-14 20:05:01

标签: python python-3.x

有点卡在这个功能上。

  • 因此N = 5将打印0 1 2 3 4
  • N = 3将打印0 1 2

我能够让它运行但第二步我需要将结果添加到一起。所以它会是

  • N = 3 0 + 1 + 2 = 3
  • N = 5 0 + 1 + 2 + 3 + 4 = 10

以下是我的代码我只是不确定如何构建它以获得我寻求的结果。

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'

3 个答案:

答案 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 = 5print 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)))

希望这是你所要求的!