Python 输入值出错,正在尝试将输入值转换为int

Python 输入值出错,正在尝试将输入值转换为int,python,jupyter-notebook,Python,Jupyter Notebook,我是初学者,请耐心听我说。我试图解决一个非常简单的问题,但在输入和int命令中得到了一致的错误。我试图解决的问题如下: 你欠了5万欧元的债。比较不同的存款,最赚钱的是年复利为6%的存款。你应该付多少钱 投资那笔存款,在N年内获得5万欧元 我的代码是: 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 o

我是初学者,请耐心听我说。我试图解决一个非常简单的问题,但在输入和int命令中得到了一致的错误。我试图解决的问题如下:

你欠了5万欧元的债。比较不同的存款,最赚钱的是年复利为6%的存款。你应该付多少钱 投资那笔存款,在N年内获得5万欧元

我的代码是:

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:基数为10的int()的文本无效:“”


有人能告诉我为什么我会犯这个错误吗?我在解决这个问题上哪里错了?提前谢谢

代码似乎工作正常。我将添加一些打印语句,这可能有助于使事情更清楚。看看这是否有帮助

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)

代码似乎运行良好。我将添加一些打印语句,这可能有助于使事情更清楚。看看这是否有帮助

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)

当您输入一个数字并按enter键时会发生什么情况?只需按enter键即可输入
'
。当出现提示时,您应输入数字。如果按enter键而不输入数字,将读取空字符串,这对于
int()
,是无效的文本。timgeb,我不明白你的问题。我在内核中点击Enter键以获得一个换行符,因为内核在第三行代码之后停止执行,但我不知道输入什么数字,因为我不知道N(月数)的值,这是我试图解决的问题的一部分…内核没有“停止”,它正在等待您输入N。您不是在求解N的值,这里提供了N。您正试图用需要提供的某些值N来解决初始投资问题。但是,当您按enter键时,您只需输入一个空字符串,这会导致int(N)失败,因为它是int(“”)。当您输入一个数字并按enter键时会发生什么?只需按enter键即可输入
'
。当出现提示时,您应输入数字。如果按enter键而不输入数字,将读取空字符串,这对于
int()
,是无效的文本。timgeb,我不明白你的问题。我在内核中点击Enter键以获得一个换行符,因为内核在第三行代码之后停止执行,但我不知道输入什么数字,因为我不知道N(月数)的值,这是我试图解决的问题的一部分…内核没有“停止”,它正在等待您输入N。您不是在求解N的值,这里提供了N。您正试图用需要提供的某些值N来解决初始投资问题。但是,当您按enter键时,只需输入一个空字符串,这会导致int(N)失败,因为它是int(“”)。非常感谢您,Paritosh!我现在明白了,它成功了。。。另外,N应该是“年数”,而不是“月数”,因为利率是年利率,所以我改变了这一点。谢谢,你的解释真的很有帮助!很乐意帮忙。欢迎使用编程,不要害怕尝试,在遇到问题时使用大量打印语句!:)@马德里_datalady@Madrid_datalady如果问题解决了,请点击绿色复选标记接受答案,向帕里托斯表示感谢。非常感谢,帕里托斯!我现在明白了,它成功了。。。另外,N应该是“年数”,而不是“月数”,因为利率是年利率,所以我改变了这一点。谢谢,你的解释真的很有帮助!很乐意帮忙。欢迎使用编程,不要害怕尝试,在遇到问题时使用大量打印语句!:)@马德里_datalady@Madrid_datalady如果问题已解决,请单击绿色复选标记向Paritosh表示感谢,接受答案。