Это мой код. Я могу получить мой код, чтобы побудить пользователя ввести 4 теста. Я сделал так, чтобы он спрашивал: «Введите оценку для тестового номера N:»Как мне изменить код на использование массивов?
Моя проблема заключается в возможности извлечения входных значений из того, что вводит пользователь. Моя конечная цель состоит в том, чтобы убрать самый низкий уровень теста и рассчитать среднее значение с остальными баллами. Используемые входные данные будут 99, 99, 99 и 77.
У меня есть пример, который берет min из переменной, которой назначены номера X, но не от того, когда вы получите ее от пользовательского ввода.
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()
Edit2: ниже код, который работает для этой программы.
def main():
scores = getNumbers()
print("The average with the lowest score dropped is: ",float(sum(scores))/len(scores))
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
main()
Это должно быть хорошей отправной точкой: HTTPS : //www.tutorialspoint.com/python/python_lists.htm – NPE
Я думаю, что вы имеете в виду списки ... В то время как у python есть массивы, '[]' называется списком –
. Для вашего цикла больше смысла начинать с нуля, и присвойте 'test_score [test]'. Вам действительно не нужен счет, поскольку он просто дублирует индекс цикла. – tripleee