Некоторые языки программирования это допускают, но правила разработки алгоритмов строго запрещают такие манипуляции, потому что нарушаются каноны современного программирования. В связи с этим большинство языков прямо запрещают модификацию параметра цикла в теле цикла.
Если нужно конкретно - в Pascal и Fortran оператор цикла с пратметром строгий, запрещающий менять значение параметра в теле цикла. Обнаруживается при компиляции, запустить на выполнение нельзя. В языках cемейства С оператор for нестрогий, цикл с параметром там моделируется и компилятор не отслеживает модификацию параметра цикла в теле цикла. В бейсиках также можно модифицировать параметр цикла в теле цикла.
Первая задача:
class_a, class_b, class_c = int(input("Сколько детей в А классе? ")), int(input("Сколько детей в Б классе? ")), int(input("Сколько детей в В классе? "))
print("Для класса А нужно купить " + str(round(class_a / 2)) + " парт.\nДля Б " + str(round(class_b / 2)) + " парт.\nДля В " + str(round(class_c / 2)) + " парт.")
Объяснения:
Нам известно, что за каждой партой могут сидеть два ученика.
Чтобы узнать, сколько парт нам нужно купить для каждого класса, мы за количество учеников.
Дальше мы делим количество учеников каждого класса на два и округляем функцией round(число).
Вторая задача:
km = int(input("Сколько км машина проезжает в день?"))
path = int(input("Какова длина маршрута?"))
print("Машина проедет путь за " + str(path/km) + " дня(ей).")
Объяснения:
По условиям задачи запрашиваем, сколько км проезжает машина за день и длину маршрута.
Далее мы делим длину маршрута на км/день и получаем ответ на нашу задачу.
3ую задачу не решил, извиняюсь
num = int(input())
sm = 0
while num != 0:
sm += num
num = int(input())
print(sm)
Объяснение.
На первой строке Вы просите пользователя ввести число.
На второй строке вы создаете новую переменную, которой присваиваете значение = 0(она нужна для подсчета суммы всех элементов)
На третье строке вы создаете цикл с условием, что введенное число не равно 0(в противном случае цикл не будет выполняться)
На четвертой строчке Вы добавляете к уже имеющейся сумме введенное число.
На пятой строчке Вы просите снова ввести число
Далее происходит возврат к началу цикла, идет проверка числа на равенство нуля, если снова не равно, то цикл повторяется, если равно, то цикл прекращается
На шестой строке Вы выводите полученный результат.
Поделитесь своими знаниями, ответьте на вопрос:
Можно ли в теле цикла изменять значение параметра цикла?
Да можно, но в языке Pascal переменную цикла в теле цикла изменять нельзя
Объяснение: