簡體   English   中英

我如何在python中獲得高於和低於平均水平?

[英]How do I get the above and below the average in python?

我有 3 個 GPA,通過將它們相加並除以 3 得到平均值。現在,我怎樣才能得到高於、低於和等於平均值​​的 GPA?

這是到目前為止的代碼:

GPA1 = 4.28
GPA2 = 3.91
GPA3 = 3.64
sum = GPA1 + GPA2 + GPA3
average = sum / 3
print(average)

我試過 If, Elif 語句......它對我不起作用。

提前致謝

一種可能的解決方案是:

GPA1 = 4.28
GPA2 = 3.91
GPA3 = 3.64
gpas = [GPA1, GPA2, GPA3] # pass everything into a list
average = sum(gpas)/len(gpas) # call it average so you don't override the inbuilt sum function
print(average)


below, above, equal = [], [], []
for gpa in gpas:
    if gpa < average:
        below.append(gpa)
    elif gpa == average:
        equal.append(gpa)
    else:
        above.append(gpa)
print("GPAs below:", below)
print("GPAs equal:", equal)
print("GPAs above:", above)

這里的關鍵是將 GPA 組合成一個列表。 然后你可以在 forloop 中迭代它們。 此外,避免使用 Python 保留的變量名稱,例如sum ,因為這樣您就無法再使用它們來獲取例如列表的總和 ( sum(gpas) )。

將值保存在列表中並運行 for 循環以檢查條件。

gpaList = [GPA1, GPA2, GPA3]
for gpa in gpaList:
    if gpa > average:
        #do stuff
        #for eg. print("Above average", gpa)
    else:
        #do stuff
        #for eg. print("Below or equal to average", gpa)

你的問題有點含糊,我猜你是在問過程/算法

  • 為 over、under 和 equal_to 制作容器
  • 迭代值
    • 將值與平均值進行比較
      • 根據比較結果放入正確的容器中

嘗試這個:

for I in [GPA1,GPA2,GPA3]:
     if I>average:
         Print ("above average" , I)
     elif I==average:
          Print ("equal to average" , I)
      else:
          Print (”below average" , I)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM