所以如果我得到输入数字"n“,我想要做的是像这样打印1~n。如果n= 10
1
23
456
78910我的代码是这样的
x = int(input())
n=1
for i in range(1, x+1):
sum = (n+1)*n // 2
print(i , end = ' ')
if(sum == i):
print()
n+=1我和我的助教解决了这个问题,但是除了这个之外,有没有办法解决使用多个for语句呢?我不想使用sum = (n+1)*n // 2这一部分,因为我的助教实际上在没有解释的情况下制作了这一部分。
发布于 2020-11-09 10:34:27
我猜这就是你在想的:
x = int(input())
n = 1
for i in range(1, x+1):
for j in range(1, i):
if n <= x:
print(n, end=' ')
n += 1
print()
if n >= x:
break如果你担心对于非常大的x,在j上不必要的循环太频繁,你可以改变:
if n <= x:
print(n, end=' ')
else:
break发布于 2020-11-09 10:38:33
当然,您也可以使用另一个for循环进行求和
sum = 0
for j in range(1,n+1):
sum += j你也可以做sum = sum(range(n+1)),但是(n + 1) * n // 2是获得n的求和的最好方法
https://stackoverflow.com/questions/64745094
复制相似问题