题主的问题,这样解即可,就是在合计时用一个判断条件,将分数小于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'统计80到90的人数:{s},平均值:{x/s}')
else:
print(f'80到90的人数为0') #防止除数为0 出错
求平均值部分:
应该将所有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的人数,并求平均值😭
哈哈哈,你是不是写到一半,然后有点崩溃了。。。
这是正常的,你把问题抛出来,我们一起交流。