Zero, добро пожаловать!
Во-первых, этот код не запускается - пожалуйста, рассмотрите возможность публикации кода, который работает (хотя, если это не так, это нормально, но ваш вопрос должен отражать эту проблему). Во-вторых, эту проблему нельзя решить так, как вы думаете (как мне кажется).
Это, вероятно, самое близкое приближение к тому, что вы ищете. Объявляя логические значения вверх from, вы можете определить, следует ли вам начинать этот l oop, и на каждой итерации можно определить, какой процесс применять.
months = paymentTerm * 12
startingMonth = 1
t: bool = startingMonth <= months
p: bool = startingPrincipal <= principal
while t or p:
if t:
print(startingMonth)
startingMonth += 1
if p:
print(startingPrincipal)
startingPrincipal -= monthlyInterest
t = startingMonth <= months
p = startingPrincipal <= principal
вы также можете использовать причудливый морж оператор тоже!
months = paymentTerm * 12
startingMonth = 1
while (t := startingMonth <= months) or (p := startingPrincipal <= principal):
if t:
print(startingMonth)
startingMonth += 1
if p:
print(startingPrincipal)
startingPrincipal -= monthlyInterest