簡體   English   中英

我對 python for 循環 if 語句和多個 for 循環有疑問

[英]I have question about python for loop if statement and multiple for loop

所以如果我得到輸入數字“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這部分,因為我的助教實際上沒有解釋就做了這部分。

我想這就是你在想的:

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

如果您擔心對於非常大的xj上不必要地循環太頻繁,您可以更改:

        if n <= x:
            print(n, end=' ')
        else:
            break

當然,您可以使用另一個 for 循環進行求和

sum = 0
for j in range(1,n+1):
    sum += j

你也感冒了sum = sum(range(n+1)) ,但是(n + 1) * n // 2是獲得 n 總和的最佳方式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM