Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в цикле for создать переменную, которая будет увеличиваться на 1 с каждым проходом программы по этому циклу?

Алексей Андреев Ученик (116), закрыт 1 год назад
Вот миниатюра моего кода:
r = [1,2,3,4,5,6,]
b = 1
for aa in r:
b + 1
print(b)

Есть переменная b, по моему циклу программа проходит 6 раз и, как я понимаю, должна каждый раз увеличить b на 1 и вывести, но этого не происходит. Выводится просто 6 раз 1. Объясните пожалуйста почему так происходит и как это исправить
Лучший ответ
Jurijus Zaksas Искусственный Интеллект (475731) 1 год назад
Ну, в твоем случае примерно так, хотя я не уверен совершенно, что это то, что ты хотел:


>Объясните пожалуйста почему так происходит
В цикле отсутствует инкремент переменной.

>и как это исправить
Добавить в цикл инкремент переменной.
Алексей АндреевУченик (116) 1 год назад
Это то, что я хотел, на твоём примере работает, а на моём нет, посмотри что я отвечал Петру, объясни пожалуйста почему у меня не получается
꧁Tester꧂ ︎ Просветленный (21674) Алексей Андреев, лучше так запиши
 r = [ 
    1, 
    2, 
    3, 
    4, 
    5, 
    6, 
] 
 
for i in r: 
    print(i)     
    i += 1 
 
Остальные ответы
Пётр Петров Знаток (332) 1 год назад
за циклом создаёшь переменную, затем в цикле прибавляешь по определённому числу
прирмер:
 b = 0  # Инициализация переменной перед циклом 
for i in range(6):
b += 1
print(b)
floxard floxМыслитель (6930) 1 год назад
Тебе ж было сказано создать в цикле, а ты инициализируешь за его пределами.
И нафига тебе i?
for _ in range(6) делай
Алексей Андреев Ученик (116) floxard flox, Извиняюсь, не так задал вопрос, нужно изменить переменную в цикле, почитай что я выше писал Петру, объясни пж что не так
Пётр ПетровЗнаток (332) 1 год назад
в следующий раз нормально вопрос задавай
 r = [1, 2, 3, 4, 5, 6] 
counter = 0

for element in r:
current_value = element
print(f'Значение на позиции {counter} равно {current_value}')
counter += 1
Алексей Андреев Ученик (116) Пётр Петров, Не увидел новые сообщения, у меня в коде в цикле нельзя менять его для чего он и его аргументы, если создам новый цикл, он будет работать не так, как нужно. На том примере как ты скинул всё работает, у меня в программе нет
Алексей АндреевУченик (116) 1 год назад
Спасибо, помог, теперь другая проблема
Вот часть кода:

for _ in range (pages):
aa = 1
a = 'A' + str(aa)
for item in range(1, count_items + 1):
if w != ' https://wa.me/ ' or t != ' https://t.me/ ' or v != 'viber://':
aa += 1
print(aa)


aa становится 2 и дальше не растёт, почему так?
Алексей АндреевУченик (116) 1 год назад
Опечатка там, вот исправленное сообщение


Не увидел новые сообщения, у меня в коде в цикле нельзя менять для чего он и его аргументы, если создам новый цикл, он будет работать не так, как нужно. На том примере как ты скинул всё работает, у меня в программе нет
Big Claw Профи (767) 1 год назад
 r = [1, 2, 3, 4, 5, 6] 

for counter, current_value in enumerate(r):
print(f'Значение на позиции {counter} равно {current_value}')
qwerty Просветленный (23529) 1 год назад
Знак равно перед плюсом поставь и не забивай людям голову хренью.
Максим Оракул (94822) 1 год назад
"aa становится 2 и дальше не растёт, почему так?"
Например потому, что count_items = 1
꧁Tester꧂ ︎ Просветленный (21674) 1 год назад
Чтобы понять, почему не работает, используй дебаггер.
Вот смотри.


 r = [ 
1,
2,
3,
4,
5,
6,
]

for i in r:
print(i)
i += 1
 r = [ 
1,
2,
3,
4,
5,
6,
]
from tkinter import *


for i in range(len(r)):
print(i)
i += 1
print(i)
Тут уже в зависимости от задачи.
Похожие вопросы