Дан целочисленный массив из 30 элементов. Элементы могут принимать значения от 0 до 100 - баллы, полученные на ЕГЭ. Составьте программу, которая подсчитывает и выводит номер учащегося, сдавшего экзамен (получившего оценку более 25 баллов) и получившего наименьшее количество баллов. Если таких учащихся несколько - вывести номера всех учеников с наименьшим баллом.
С рандомным списком: from random import randint; r = range(30)
A = [randint(0,100) for i in r]; minA, k = min(A), 0
print('Список баллов, полученных учащимися:')
for a in A:
print('%4d' % a, end = ''); k += 1
if k == 10: k = 0; print()
print('Минимальная сумма баллов:', minA)
print('Номера учащихся с минимальной суммой баллов:')
for i in r:
if A == minA: print(i + 1, end = ' ')
print() Так действительно выведутся номера учащихся, получивших минимальную сумму баллов. Посмотрите:
for i in range(len(scores)):
if scores > 25 and scores == min_score:
students.append(i + 1)
print("Номера учеников с наименьшим количеством баллов (баллы более 25):", students)
Программа использует список scores, содержащий баллы учащихся. В начале программы мы инициализируем переменную min_score значением минимального балла в списке с помощью функции min(). Затем создается пустой список students для хранения номеров учеников.
Затем мы проходимся по каждому элементу списка scores с помощью цикла for. Если балл ученика больше 25 и равен минимальному баллу, то добавляем номер ученика (индекс плюс один, так как индексация начинается с 0) в список students.
Наконец, выводим на экран номера учеников с наименьшим количеством баллов (баллы более 25) с помощью функции print().