我有一個小數串列來計算它們的總數。我不允許使用除 for、while 回圈以外的分數模塊。有人能幫助我嗎?我在自學。
這是我的問題:
撰寫一個回圈來計算以下一系列數字的總和:
1/30 2/29 3/28 ... 30/1
更新
這是我寫的代碼:
starting_number = 1 / 30
ending_number = 30/1
total = 0.0
for number in range(starting_number, ending_number, starting_number 1 / ending_number -1):
total = number
print(total)
這是輸出:
Traceback (most recent call last):
File "C:\Users\jimsrc\Desktop\repo\New folder\test2.py", line 4, in <module>
for number in range(starting_number, ending_number, starting_number 1 / ending_number -1):
TypeError: 'float' object cannot be interpreted as an integer
Process finished with exit code 1
uj5u.com熱心網友回復:
我認為您正試圖讓您的range()電話變得比它需要的(或它支持的)復雜得多。
讓我們接受您的想法,但將作業移到回圈內:
n = 30
total = 0
for i in range(1, n 1):
total = i/(n 1-i)
print(total)
這給了我們93.84460105853213將接近您尋求的價值。它可能是也可能不是正確的答案,這取決于您期望float的行為方式。請參閱:浮點數學被破壞了嗎?
一旦你理解了這里發生了什么,就不是@wjandrea 建議的簡化的巨大飛躍。
n = 30
total = sum(i/(n 1-i) for i in range(1, n 1))
print(total)
還給你: 93.84460105853213
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/383695.html
標籤:Python 蟒蛇-3.x for循环 while 循环
