刚学Python,不会这题☹麻烦好心人帮忙看看
题目:从键盘输入若干名学生一门课成绩,计算并输出最高分最低分和平均分(保留小数两位)。输入负数结束运行。我写的代码(是错的,怎么写才能符合题意啊{:10_262:}
scores=[]
min_score=100
max_score=0
sum_score=0
for i in scores:
if i<min_score:
min_score=i
if i>max_score:
max_score=i
sum_score+=i
print("最高分:",max_score)
print("最低分:",min_score)
print("平均分:{:.2f}".format(sum_score/len(scores)))
本帖最后由 jackz007 于 2022-9-30 20:05 编辑
scores , n = [] , 0
while True:
x = int(input('输入成绩:'))
if x >= 0 :
scores . append(x)
n += 1
else:
break
scores . sort()
print('最高分:%d' % scores[-1])
print('最低分:%d' % scores)
print('平均分:%.2f' % (sum(scores) / n))
运行实况:
D:\\Python>python x.py
输入成绩:34
输入成绩:56
输入成绩:78
输入成绩:88
输入成绩:98
输入成绩:23
输入成绩:5
输入成绩:7
输入成绩:66
输入成绩:-1
最高分:98
最低分:5
平均分:50.56
D:\\Python> jackz007 发表于 2022-9-30 20:04
运行实况:
刚刚在IDLE里试了:
输入成绩:70,80,90
(然后报错了)
Traceback (most recent call last):
File "C:\Users\acer\Desktop\题目.py", line 3, in <module>
x = int(input('输入成绩:'))
ValueError: invalid literal for int() with base 10: '70,80,90'
请问该怎么解决这样的情况啊? jackz007 发表于 2022-9-30 20:04
运行实况:
明白了,要一次次输入数据,谢谢您的答案 7000r 发表于 2022-9-30 20:10
刚刚在IDLE里试了:
输入成绩:70,80,90
你得这么输入:
70
80
90
-1 jackz007 发表于 2022-9-30 20:13
你得这么输入:
70
80
scores , n = [] , 0
大佬,请问下这第一句是什么意思 本帖最后由 jackz007 于 2022-10-1 16:15 编辑
迦勒底的doctor 发表于 2022-10-1 16:10
scores , n = [] , 0
大佬,请问下这第一句是什么意思
实际就是
scores = []
n = 0
两句合并为一句,Python 允许这么写。 jackz007 发表于 2022-10-1 16:14
实际就是
两句合并为一句,Python 允许这么写。
万分感谢
页:
[1]