這是我第一次在 StackOverflow 上提問!
我正在嘗試撰寫一個代碼,以使用 python 中的 for 和 while 回圈來知道該數字的累積總和在 10,000 之前的自然數。
一個for回圈,
accum_sum = 0
for n in range(10000):
if accum_sum > 10000:
print(n-1)
break
它給了我 140
我想知道如何撰寫代碼來通過使用while回圈來獲得相同的東西(140)......這是我嘗試過的,但不知何故它給了我一個不同的答案。有人可以幫我弄這個嗎?我覺得我迷路了
accum_sum = 0
while accum_sum < 10000:
n = 1
accum_sum = accum_sum n
if accum_sum > 10000:
print(n-1)
break
謝謝!
uj5u.com熱心網友回復:
在您的代碼片段中:
- 正如@canton7指出的那樣,因為您永遠不會將 num 添加到 accum_sum 中,因此它將始終為零
- n 在while之前沒有定義,所以你不能將它增加 1 并且會被拋出一個 NameError
更改這些并添加適當的縮進應該會給您如下所示的內容。
用于:
sum = 0
for num in range(0,10000):
sum = num
if num > 10000:
print('This is the number you want ', num-1)
break
使用同時:
sum = 0
num = 0
while sum < 10000:
num = 1
sum = num
print('This is the number you want ', num-1)
這兩個都列印 140。
參考:
- 何時使用 while 回圈而不是 for 回圈
- 檔案
- 更多檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/431643.html
