Сложение в цикле

ratata

Новичок
Пользователь
Дек 29, 2021
37
1
8
Как мне прибавлять к zero +1 до тех пор, пока zero не будет равно 3, а когда будет равно 3, сложение будет повторяться заново? Важно, что оно будет повторяться, пока цикл не пройдет по всем элементам списка mas

Python:
mas = ['111', 'domino', 'pharaoh', 'blassd', 'python', 'hello_world', 'thanks']
zero = 0
for item in mas:
    zero = zero + 1
    print(zero) # 1 2 3 4 5 6 7

Мне нужно, чтобы print выводил следующее:
Python:
1
2
3
1
2
3
1
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
Вроде бы ничего не изменилось, кроме как <
Я не так понял, тогда так:
Python:
mas = ['111', 'domino', 'pharaoh', 'blassd', 'python', 'hello_world', 'thanks']

zero = 0
for item in mas:
    zero += 1
    if zero > 3:
        zero = 1
    print(zero) # 1 2 3 1 2 3

или так:
Python:
mas = ['111', 'domino', 'pharaoh', 'blassd', 'python', 'hello_world', 'thanks']

zero = 0
for item in mas:
    zero = zero + 1 if zero < 3 else 1
    print(zero) # 1 2 3 1 2 3
 
  • Мне нравится
Реакции: ratata

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
Например так:
Python:
mas = ['111', 'domino', 'pharaoh', 'blassd', 'python', 'hello_world', 'thanks']

for item in mas:
    zero = 0
    while zero < 3:
        zero += 1
        print(zero) # 1 2 3 1 2 3
 
Последнее редактирование:
  • Мне нравится
Реакции: ratata

ratata

Новичок
Пользователь
Дек 29, 2021
37
1
8
Например так:
Python:
mas = ['111', 'domino', 'pharaoh', 'blassd', 'python', 'hello_world', 'thanks']

for item in mas:
    zero = 0
    while zero <= 3:
        zero += 1
        print(zero) # 1 2 3 1 2 3
print выдает не 1 2 3 1 2 3, а 7 раз по 1 2 3 4, то есть код проходит по каждому элементу в списке по 4 раза
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
Как мне прибавлять к zero +1 до тех пор, пока zero не будет равно 3, а когда будет равно 3, сложение будет повторяться заново?
будет\не будет повторяться?, лучше скажите как надо на то и будет ориентир...........
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
971
219
43
20
Москва
print выдает не 1 2 3 1 2 3, а 7 раз по 1 2 3 4, то есть код проходит по каждому элементу в списке по 4 раза
Исправил
 

ratata

Новичок
Пользователь
Дек 29, 2021
37
1
8
будет\не будет повторяться?, лучше скажите как надо на то и будет ориентир...........
Вот код:
Python:
mas = [['111', 'domino', 'pharaoh'], ['blassd', 'python'], ['hello_world', 'thanks'], ['hello', 'th']]
for item in mas:
    zero = 0
    while zero <= 2:
        zero += 1
        print(zero) # 1 2 3 1 2 3 1 2 3 1 2 3

Сейчас print выдает 1 2 3 для каждого списка, то есть 4 раза (тк 4 списка) по 1 2 3, а нужно, чтобы к каждому списку была только одна цифра
Желаемый вывод print:
Python:
1
2
3
1
 

ratata

Новичок
Пользователь
Дек 29, 2021
37
1
8
Вроде бы ничего не изменилось, кроме как <
 

ratata

Новичок
Пользователь
Дек 29, 2021
37
1
8
Я не так понял, тогда так:
Python:
mas = ['111', 'domino', 'pharaoh', 'blassd', 'python', 'hello_world', 'thanks']

zero = 0
for item in mas:
    zero += 1
    if zero > 3:
        zero = 1
    print(zero) # 1 2 3 1 2 3

или так:
Python:
mas = ['111', 'domino', 'pharaoh', 'blassd', 'python', 'hello_world', 'thanks']

zero = 0
for item in mas:
    zero = zero + 1 if zero < 3 else 1
    print(zero) # 1 2 3 1 2 3
спасибо большое, помогло
 
  • Мне нравится
Реакции: Vershitel_sudeb

Форум IT Специалистов