Alguém pode me explicar por que esse código não funciona?

Bassam ch
annual_salary = int(input("Your annual salary "))
semi_annual_raise = 0.07
r = 0.04
down_payment = 250000
epsilon = 100
low = 0
high = 10000
guess = (high + low)//2
best_saving_rate = (guess/10000)
months = 0
current_savings = 0
steps = 0

while abs(current_savings - down_payment) >= 100:
    for i in range(36):
        current_savings += best_saving_rate*(annual_salary/12) + (current_savings*r)/12
        months +=1
        if months%6 == 0:
            annual_salary = annual_salary + semi_annual_raise*annual_salary  
    if current_savings < down_payment:
        low = guess
    else:
        high = guess
    steps += 1
    guess = (high + low)//2
    best_saving_rate = float(guess/10000)
print(steps)
print(best_saving_rate)
print(current_savings)

Supõe-se que esse código encontre a melhor taxa de economia para alguém que está tentando ter dinheiro suficiente para um pagamento de 250000 dólares em 36 meses. Eu uso a pesquisa de bissecção e acho que estou no caminho certo, mas não vai funcionar. Acho que o problema é que a variável economia atual não está reinicializando a cada iteração e não sei como fazer isso. POR FAVOR AJUDE.

Glenn Mackintosh

Por que você espera que o current_savingsseja redefinido a 0cada iteração? Você não faz isso no código, então o que faria com que isso acontecesse? Além disso, pela aparência do código, você também deve redefinir monthspara 0(embora pareça que a forvariável de índice de loop ina verdade seja o mês).

Isso corrige os erros óbvios que eu pude ver:

while abs(current_savings - down_payment) >= 100:
    current_savings = 0   # add this
    for month in range(36):  # Change this
        current_savings += best_saving_rate * (annual_salary / 12) + (current_savings * r) / 12
        # months += 1  <-- remove this
        if months % 6 == 0:

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Alguém pode me explicar por que esse código lisp não funciona?

Alguém pode explicar por que esse código if/else do brainfuck não funciona?

Alguém pode explicar por que esse código não funciona da maneira que eu quero?

Alguém pode me explicar como esse código funciona?

Alguém pode me explicar por que esse segundo método não atualiza totalmente a string?

Por favor, alguém pode me explicar esse código de recursão?

Alguém pode explicar por que isso não funciona?

Usando observável. Alguém pode me explicar como esse código funciona

Alguém pode explicar como funciona esse código bitMask?

Alguém pode explicar como funciona esse código bitMask?

Alguém pode me dizer por que esse simples loop PHP não funciona?

Alguém pode me explicar esse código C ++ que faz parte do programa LinkedList?

Alguém pode me explicar esse código do ReactJS?

Alguém pode me explicar por que o sub () / gsub () do awk funciona assim?

Alguém vem me explicar porque esse código não funciona para mim?

Alguém pode me explicar por que o método de ligação não funciona nesses exemplos

Alguém pode me dizer por que esse código não funciona e continua imprimindo 0,00 km como a distância mais curta?

Alguém pode me explicar por que "this" não é igual a win ou window no seguinte código javascript IIFE?

Alguém pode me explicar esse pedaço de código em vibração?

Alguém pode explicar por que esse Ruby next se funciona em um loop until?

Alguém pode explicar por que esse Ruby next se funciona em um loop until?

Alguém pode explicar por que um trecho de código funciona da mesma forma que o meu?

Bitshifting: Alguém pode explicar o que esse código faz?

Alguém pode explicar o que esse código javascript está fazendo?

Alguém pode explicar o que esse código python faz?

Alguém pode explicar por que esse salto condicional não é realizado?

Alguém pode explicar por que esse salto condicional não é realizado?

Alguém pode me explicar como funciona esse tipo de recursão?

Alguém pode explicar como seria um código como este e por que funciona?