Python - 2 уравнения в 1 цикле - PullRequest
0 голосов
/ 28 мая 2020

Я новичок с Python и пытаюсь научиться складывать 2 уравнения в 1 l oop.

months = paymentTerm * 12
startingMonth = 1
while startingMonth <= months :     
    print(startingMonth)
    startingMonth = startingMonth + 1

principal = principalAmount
startingPrincipal = principalAmount - monthlyInterest
while startingPrincipal <= principal :
    print(startingPrincipal)
    startingPrincipal = startingPrincipal - monthlyInterest

Есть идеи как? По сути, я хочу, чтобы выходные данные печатались бок о бок при использовании функции \ t \ t, потому что значения для моего принципала печатаются через несколько месяцев, но я хочу, чтобы они были рядом. Спасибо !!

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

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
0 голосов
/ 28 мая 2020

Проверьте оба условия в условии while.

while startingMonth <= months and startingPrincipal <= principal:
    print(startingMonth, startingPrincipal)
    startingMonth += 1
    startingPrincipal += monthlyInterest

Это прекратится при достижении любого из пределов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...