如何更改代码以使用数组?

时间:2016-10-16 18:12:54

标签: python arrays

到目前为止,这是我的代码。我可以让我的代码提示用户输入4个测试分数。我已经做到了,所以它要求“输入测试编号为N的分数:”

我的问题在于能够从用户输入的内容中提取输入值。我的最终目标是能够降低最低测试等级并计算剩余分数的平均值。使用的输入数据为99,99,99和77.

我有一个示例,它从分配了X数字的变量中获取min,但不是从用户输入获取它时的min。

<div id="message">
</div>

Edit2:下面是适用于此程序的代码。

def main():
    scores = getNumbers()

def getNumbers():
    testCountIs = 0
    testNum = 4
    totalScore = 0

    for test in range(1, testNum+1):
        print('Enter the score for test number', int(testCountIs+1), end='')
        testScores = int(input(': '))
        testCountIs += 1

main()

2 个答案:

答案 0 :(得分:0)

这就是你想要的:

def getNumbers():
   scores=[]
   for testNum in range(4):
       print('Enter the score for test number %d'%(testNum+1)),
       scores.append(input(': '))
   scores=[score for score in scores if min(scores)!=score]
   return scores

scores= getNumbers()
average= float(sum(scores))/len(scores)
print average

编辑对于python3

def getNumbers():
    scores=[]
    for testNum in range(4):
       print('Enter the score for test number',int(testNum+1),end='')
       scores.append(int(input(': ')))
    scores=[score for score in scores if min(scores)!=score]
    return scores

scores= getNumbers()
print(float(sum(scores))/len(scores))

答案 1 :(得分:0)

你的代码很接近。只需要定义一个列表,附加到它,然后返回它

scores = [] 
for test in range(testNum):
    print('Enter the score for test number', int(test + 1), end='')
    score =  int(input(': ')
    scores.append(score) 
return scores 

您应该计算最小值,将其删除,并找到此函数外的平均值