if __name__ == '__main__':
n = int(input())
arr = map(int, input().split())
В приведенном выше коде функция отображает два параметра, я получил представление о втором параметре, что он делает, но я не получаю параметр "int".
Скажем, я набираю 5
а затем вводим в первом приглашении:
n = int(input())
Возьмем вход "5" и превратим его в целое число 5
. Итак, мы переходим от string
к int
Затем мы получим другое приглашение ввода, потому что у нас снова есть вход() в следующей строке: на этот раз я наберу 123 324 541 123 134
а затем введите.
.split()
разделит это на "123", "324", "541", "123", "134", который представляет собой список (ну и map
) строк. Затем мы сопоставим int
ними, чтобы дать себе map
int
а не строк. int
преобразует строки в целые числа.
При проверке кода часто бывает полезно попробовать что-то в REPL (прочитать выполнение print, looper). В вашей команде promt просто введите python
или python3
если вы его установили или используете replt.it. Введите a = "123" + "321"
затем попробуйте 'a = int ("123") + int ("321")
Оберните это списком (map (int, input(). Split())), чтобы получить list
а не map
.
Следовательно, он просто сделает итерабельность, когда она применяет функцию int() к каждой строке из .split()
, что означает, что она вводит каждую запись в int.
Пример:
arr = map(int, "12 34 56".split())
print(list(arr)) # prints: [12, 34, 56]