Пожалуйста объясните почему после a = list(int(input()) идет for i in range(n)
n = int(input())
a = list(int(input()) for i in range(n)
print(min(a))
Условие:
Принц выбирает себе невесту. Для этого он проводит среди принцесс тестирование по олимпиадной математике и программиованию на Питоне. В тесте N вопросов. С клавиатуры вводятся баллы, которые принцесса получила за вопрос.
Это могут быть:
2 - ответила верно
1 - ответ верный, но не полный
0 - ответила неверно
Найдите минимальный балл полученный за вопрос и посчитайте их количество.
Answers & Comments
Структура типа int(input()) идет for i in range(n) называется генерацией. В данной случае генерация списка.
Для начала ты задаешь n - число элементов в твоем списке.
Далее программа просит тебя ввести n элементов поочередно и сразу преобразуют их в тип int. Изначально все входные данные от input - строковые. int(input()).
Теперь нам нужно считать не один раз, а n, поэтому открывается цикл.
В заключении нам нужно преобразовать наше множество чисел в список методом list(). Чаще всего при генерации пишут вот так ----
a = [int(input()) идет for i in range(n)]
P.S. У тебя ошибка в коде. Нет закрывающей скобки a = list(int(input()) for i in range(n))