首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我对python for loop if语句和多个for循环有疑问。

我对python for loop if语句和多个for循环有疑问。
EN

Stack Overflow用户
提问于 2020-11-09 10:22:53
回答 2查看 50关注 0票数 0

所以如果我得到输入数字"n“,我想要做的是像这样打印1~n。如果n= 10

代码语言:javascript
复制
1

23

456

78910

我的代码是这样的

代码语言:javascript
复制
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这一部分,因为我的助教实际上在没有解释的情况下制作了这一部分。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-09 10:34:27

我猜这就是你在想的:

代码语言:javascript
复制
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上不必要的循环太频繁,你可以改变:

代码语言:javascript
复制
        if n <= x:
            print(n, end=' ')
        else:
            break
票数 1
EN

Stack Overflow用户

发布于 2020-11-09 10:38:33

当然,您也可以使用另一个for循环进行求和

代码语言:javascript
复制
sum = 0
for j in range(1,n+1):
    sum += j

你也可以做sum = sum(range(n+1)),但是(n + 1) * n // 2是获得n的求和的最好方法

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64745094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档