Вопрос Пожалуйста, объясните синтаксис цикла for в питоне

Регистрация
9 Янв 2013
Сообщения
83
Репутация
13
Спасибо
0
Монет
0
Я новичок и уже долгое время пытаюсь освоить этот цикл, но я просто логически не могу понять, что такое i и так далее... Я вообще не понимаю как работает следующий код:

for i in "hello":

print(i)



И ОН КАК-ТО ВЫВОДИТ

h

e

l

l

o



КАКККККККККККК
 
Ну элементарно тупо считывает строку в i и выводит по букве что здесь непонятного?
 
печатается буква соответствующая индексу(i). Сначала первая, потом вторая и тд
 
for в Python - это цикл по коллекции. На каждой итерации цикла переменной цикла (той самой i) присваивается очередной элемент коллекции, после чего выполняется тело цикла (в твоём случае - print(i) ). И цикл продолжается, пока не будут перебраны все элементы коллекции.

Если коллекция - строка, то элементы коллекции - все символы этой строки, перебираемые последовательно - слева направо. Т.е. для строки "hello" на первой итерации цикла переменной i будет присвоено значение "h", на второй "e", ..., на последней (пятой) - "o".
 
Логически звучит примерно так: Для переменной i в диапазоне "hello" выводим i.
Т.е. каждую итерацию i принимает одно значение из hello, в нашем случае букву и печатает её, потом другая итерация и опять печать и так пока слово не закончится.
 
Есть некоторый поток элементов — например, на основе списка, множества или генератора значений.

Мы берем из потока по одному элементу за раз, пока этот поток не закончится.
Для каждого такого элемента мы выполняем тело цикла, в котором можем этот элемент использовать.

Чтобы обращаться к элементу, мы даем ему имя, как обычной переменной.
Например, i. for i in range(5):
print(i + 1)
print("вышел зайчик погулять") Здесь функция range порождает поток из пяти целых чисел: 0, 1, 2, 3, 4.
Для каждого числа последовательно выполняется оператор print(i + 1) из тела цикла.

По сути, происходит следующее: print(0 + 1)
print(1 + 1)
print(2 + 1)
print(3 + 1)
print(4 + 1)
В вашем случае: for i in "hello":
print(i) источником букв служит строка, воспринимаемая циклом как список символов.
 
Назад
Сверху