[英]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
如果您擔心對於非常大的x
在j
上不必要地循環太頻繁,您可以更改:
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.