因此,我正在处理的问题是“编写,调试和测试程序来计算和打印正测试分数列表的最小值,最大值和平均值。提示用户有多少分数是输入。预计每行将输入一个分数。提供每个分数的提示。“
所以这就是我现在所拥有的,但我仍然坚持寻找最小值,最大值和平均值。
def scores():
print('we are starting')
count = int(input('Enter amount of scores: '))
print('Each will be entered one per line')
scoreList = []
for i in range(1, count+1):
scoreList.append(int(input('Enter score: ')))
print(scoreList)
print(scoreList)
print('thank you the results are:')
mysum = sum(count)
# mysum needs to be a float
average = 1.0*mysum / n
print ('Total: ', str(count))
print ('Average: ', str(average))
print ('Minimum: ', str(min(count)))
print ('Maximum: ', str(max(count)))
scores()
我不确定是否更容易做一个elif类型的声明,因为我说我对此很新,我仍然只是想了解这段代码中发生了什么。
接下来,我需要“扩展程序以按成绩表生成分数。对于每个等级[A,B,C,D,F],程序计算等级中的成绩数。程序打印按排名计算的表格,并提供每个等级中总成绩的百分比。“
排名如下:
A = 91 - 100
B = 81 - 90
C = 71 - 80
D = 61 - 70
F = 0 - 60
我会很感激一些帮助或一些意见。
答案 0 :(得分:0)
你并不遥远,你的主要问题似乎是混淆你的变量,所以你在错误的时间引用了错误的东西。
例如,您不是要查找min
max
count
(这是一个整数值),而是要查找min
和{{ 1 {} max
(这是一个列表,因此可以使用scoreList
和min
方法进行迭代。)
max
的相同问题。代码的更正位将是:
sum
至于使用等级图表,这是一个单独的问题,通过单独发布以及一些代码来显示您尝试过的内容会更好。但是,mysum = sum(scoreList)
# mysum needs to be a float
average = 1.0*mysum / count
print ('Total: ', str(mysum))
print ('Average: ', str(average))
print ('Minimum: ', str(min(scoreList)))
print ('Maximum: ', str(max(scoreList)))
语句是一种有效的方法。
答案 1 :(得分:0)
这是我能想到的最诡计多端的方式,当然数学模块有所有这些哈哈!
def min(data):
'''return min of itterable data
'''
minimum = data[0]
for i in data:
if i < minimum:
minimum = i
return minimum
def max(data):
'''return max of itterable data
'''
maximum = data[0]
for i in data:
if i > maximum:
maximum = i
return maximum
def avg(data):
'''
return average of itterable data
'''
return sum(data)/len(data)
data = [1,2,1,3,6,4,5]
print (min(data), max(data), avg(data))