evgentor
@evgentor

Как повторить цикл в случае надобности?

Есть цикл, который должен повториться определённое кол-во раз(переменная much)
После его выполнения спросит, нужно повторить столько же раз или нет. Если да - цикл повторяется.
Пробовал вот так, не получилось, похоже в процессе переменную в цикле нельзя изменять
much = int(input('how much? '))


for i in range(much):
    print('Privet')
    if i == much-1:
        more = str(input('Еще? '))
        if more == 'yes':
            much = much + much
        else:
            break
  • Вопрос задан
  • 4011 просмотров
Решения вопроса 1
плохой ответ
Поскольку кусок кода с циклом может выполняться несколько раз, хорошо бы его вытащить в отдельную функцию, к которой и обращаться по мере необходимости:
def loop(n):
    for i in range(n):
        print('Privet')

much = int(input('how much? '))
loop(much)

more = str(input('Еще? '))
if more == 'yes':
    loop(much)


Наверное, я не правильно понял условия.. Повторов «ещё» может быть сколько угодно, а не 1?
Тогда можно и прямо в цикле. Но тут не подойдёт итератор range(), а лучше обойтись переменной, которую уменьшать от much к 0:
much = int(input('how much? '))
i = much
while i > 0:
    print('Privet')
    i = i - 1
    if i == 0:
        more = str(input('Еще? '))
        if more == 'yes':
            i = much
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы