ValueError с вводом и попытка преобразовать входное значение в int - PullRequest
0 голосов
/ 11 ноября 2018

Я новичок, поэтому, пожалуйста, потерпите меня.Я пытаюсь решить очень простой вопрос, но получаю постоянную ошибку с командами input и int.Проблема, которую я пытаюсь решить, заключается в следующем:

У вас есть задолженность в размере 50 000 евро.Вы сравниваете разные депозиты, и наиболее прибыльным является депозит с 6% годовых сложного процента.Сколько денег вы должны вложить в этот депозит, чтобы получить 50 тыс. Евро за N лет?

Мой код:

FV=50000   #future value of the deposit is 50,000 euros
I=0.06     #the interest rate of the deposit is 6%
N=input("number of months:")
N=int(N)
print(FV/(1+I)**N)
print("I should invest", FV/(1+I)**N, "euros to have", FV, " euros in", N, 
"months with interest", I)

Но ядро ​​перестает работать и выполняться после третьей строки (команда ввода) и когда я вручную нажимаю Enter, чтобы получить новую строку, я получаю код ValueError, который говорит:

ValueError: недопустимый литерал для int () с основанием 10: ''

Может кто-нибудь сказать мнепочему я получаю эту ошибку?И где я не прав в решении проблемы?Заранее спасибо.

1 Ответ

0 голосов
/ 11 ноября 2018

Код работает нормально. Я собираюсь добавить пару утверждений для печати, которые могут помочь прояснить ситуацию. Посмотрите, поможет ли это.

FV=50000   #future value of the deposit is 50,000 euros
I=0.06     #the interest rate of the deposit is 6%
print("I am a computer program, i am about to ask you for an input. please enter something and then press enter")
N=input("number of years:")
if N != '': #can be replaced with if N:
    print("you have entered-",N)
else:
    print("that is an empty string")
N=int(N)
print(FV/(1+I)**N)
print("I should invest", FV/(1+I)**N, "euros to have", FV, " euros in", N, 
"years with interest", I)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...