py布置的太难了,来个人吧,已经在摆烂的边缘了

img

题主的问题,这样解即可,就是在合计时用一个判断条件,将分数小于80的剔除:

def nums(score):
    global num
    if 80 <= score <= 90:
        num += 1


num = 0
summ=0
score = int(input("请输入学生成绩:"))
while score != -1:
    nums(score)
    summ+=score if 80<=score<=90 else 0   
    score = int(input("请输入学生成绩:"))
    
print(f"在80分到90分之间的学生有{num}位,平均值{summ/num:.2f}")

运行结果:

F:\2021\qa\ot2>t2
请输入学生成绩:90 
请输入学生成绩:80
请输入学生成绩:70
请输入学生成绩:-1
在80分到90分之间的学生有2位,平均值85.00

如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮

你代码有什么不对吗
要求是统计80到90的成绩平均值吧
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

x = 0
s = 0
n = int(input("请输入成绩:"))
while n!=-1:
    if 80<=n<=90:
        s+=1
        x+=n
    n = int(input("请输入成绩:"))
if s>0:
    print(f'统计8090的人数:{s},平均值:{x/s}')
else:
    print(f'8090的人数为0') #防止除数为0 出错

img

求平均值部分:
应该将所有80到90的人数进行统计
我大概糊了一个,你做个输入替换一下即可
有帮助望采纳~

a = [23, 43, 56, 45, 78, 96, 45, 46, 78, 81, 32, 83, 87, 89, 90]
x = 0
sum = 0
for i in a:
    if 80 <= i < 90:
        x += 1
        sum += i
if x:
    print(f'成绩在80~90分的同学共有{x}位,他们的平均分是{sum/x:.2f}')
else:
    print('没有人分数在80~90之间.')

题目要求是统计80到90的人数,并求平均值😭

哈哈哈,你是不是写到一半,然后有点崩溃了。。。

这是正常的,你把问题抛出来,我们一起交流。

img


题目要在这个的基础上求分数的平均值