Добро пожаловать!
Этот код является эквивалентом
x = int(input())
y = int(input())
z = int(input())
n = int(input())
Функция input()
читает ввод от пользователя, а int
пытается преобразовать его в целое число, которое присваивается каждой переменной (x
, y
, z
и n
) .
Код также можно записать как:
numbers = []
for i in range(4): # Loop 4 times
numbers[i] = int(input())
x = numbers[0]
y = numbers[1]
z = numbers[2]
n = numbers[3]
Что больше похоже на форму, которую вы предоставили. Но автор использует две возможности Python, которые делают код меньше (и более выразительным). Я объясню оба:
- Список понятий
Много раз во время программирования вы будете вынуждены выполнить команду несколько раз и получить результаты в виде списка или, например, отобразить значения из одного списка в другой. В этом случае у вас будет что-то вроде этого:
numbers_til_5 = [0,1,2,3,4,5]
squares_til_5 = []
for n in numbers_til_5:
squares_til_5.append(n*n)
С синтаксисом понимания списка мы могли бы сделать:
sqaures_til_5 = [ n*n for n in numbers_til_5]
Другая функция:
- деструктурирующие
Это функция, которая позволяет вам получать элементы списка в одном операторе.
В примере мы имеем это:
x = numbers[0]
y = numbers[1]
z = numbers[2]
n = numbers[3]
Который можно заменить на x,y,z,n = numbers
.
Еще одна интересная форма, когда вы заботитесь только о первых аргументах, например:
first = numbers[0]
rest = numbers[1:] # This get all elements starting from the first
можно записать как first, *rest = numbers
.
Надеюсь, я смог это прояснить.