繁体   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