[英]Average program using while loop. Won't calculate correctly
i = 0
result = 0
while i < 10 :
result += eval(input("Enter a number: "))
i += 1
if result < 1 :
break
average = result / i
print (average)
我正在制作一個程序以計算出10個平均值,但是如果輸入一個負數,它將終止。 問題在於,如果輸入一個負數,則直到該負數大於已輸入的所有其他數字,程序才會停止。
此代碼不一定要停止為負數。 僅當該負數使運行總數達到非正數時,它才會執行此操作。 例如,如果用戶輸入以下數字:
4
-2
4
那么運行總計是:
4
2
6
運行總計( result
)絕不會為正。 因此,該break
語句的條件將不成立。
如果您想在輸入負數時終止(或者根據您的邏輯輸入一個非正數),則需要檢查該數字本身 ,而不是運行總數。 像這樣:
i = 0
result = 0
value = 0;
while i < 10 :
value = eval(input("Enter a number: "))
if value < 1 :
break
i += 1
result += value
average = result / i
print (average)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.