我一直在研究 python 的 do 回圈,盡管該語言沒有一個回圈。我正在嘗試獲取輸入的某些整數的平均值,直到輸入負整數。我能夠讓程式正常作業,但在輸入數字并獲得平均值后它給了我錯誤的結果。例如,如果我提供一組 5 個數字,然后輸入一個負數來計算它,它給我的答案是 1.0。我想要一些關于如何擺脫這個問題的建議,以獲得從輸入的 5 組數字中找到平均值的準確答案。
將處理并計算平均 totalScore = 0 getTestScore: int = 0 total = getTestScore 1 count = getTestScore count: int = count 1 totalScore = getTestScore() av??erageTestScore = float(totalScore) / count
回傳平均測驗分數
# Do loop function
total = 0
count = 0
totalTestScore = total 1
average = calculateAverage(totalTestScore, count)
while True: #This simulates a Do Loop
testScore = getTestScore()
totalTestScore = total 1
count = count 1
if not(testScore >= 0): break #Exit loop
calculateAverage(totalTestScore, count)
return average
我不確定我在哪里得到了相同的答案,我輸入的每個不同的數字都是 1.0。
我試著改變他們在線的位置以及他們如何縮進以確保它是正確的。我寫的專案計劃很簡單,我盡量不去徹底改變它,使其不符合我的專案計劃。
uj5u.com熱心網友回復:
您將名為 'average' 的變數初始化為 {average = calculateAverage(totalTestScore, count)} 但您沒有覆寫它或將任何新值保存到其中。最后,您將回傳該變數的值,該變數自初始化以來一直保留相同的值。
uj5u.com熱心網友回復:
def average(x):
total = 0
count = 0
for i in x:
count = 1
total = i
return total/count
lst = []
num_input = int(input("enter the numbers"))
while num_input >= 0: # This simulates a Do Loop
lst.append(num_input)
num_input = int(input("enter the numbers"))
#print(lst)
average(lst)
uj5u.com熱心網友回復:
退出回圈后,您沒有更新現有的平均變數。因此,為了獲得正確的結果,您需要average = calculateAverage(totalTestScore, count)在退出回圈行后添加
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/524571.html
上一篇:如何在Python中提取串列?
