• Предмет: Информатика
  • Автор: solofirej22
  • Вопрос задан 2 года назад

Пожалуйста объясните почему после 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 - ответила неверно
Найдите минимальный балл полученный за вопрос и посчитайте их количество.

Ответы

Ответ дал: maxum000
2

Структура типа 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))

Вас заинтересует