【发布时间】:2020-04-19 07:25:51
【问题描述】:
我是 python 新手,一直在尝试为抵押计算器编写一个小代码。我使用了三个变量,即利息、no_of_month 和 principal_amt,它的值是使用输入函数获取的。
下面是相同的代码。
#######################
while True:
try:
no_of_month = int(input('Enter no of months you want for payment: '))
except ValueError:
print('The value you entered is not integer')
continue
else:
break
##############################
while True:
try:
interest = int(input('Enter interest you want for the loan: '))
except ValueError:
print('The value you entered is not integer')
continue
else:
break
################################
while True:
try:
principal_amt = int(input('Enter principal amount you want as loan:'))
except ValueError:
print('The value you entered is not integer')
continue
else:
break
现在上面的代码对我来说很好,但我不乐意重复我的代码块。我希望使用函数或者可能是其他东西,所以必须尽量减少我的代码行。
有没有办法定义一个函数并在适当的验证下调用它?
提前致谢
【问题讨论】:
-
是的,定义函数就是这样。你试过吗?发生了什么?
-
是的,我试过这样做。我定义了一个函数,在函数中传入了变量。但是从那以后,我将 try 和 except 块放入函数和输入函数之外。它抛出和错误。
interest = int(input('Enter interest you want for the loan')) check_if_int_or_not(interest) -
这很奇怪吗?引发错误的代码需要在 try 块内。
-
我知道抛出错误的代码需要在 try/catch 块中。只是不知道如何使用函数将它放在那里。看起来可以简单地传递问题并将
int(input(question))放在 try 块代码中。
标签: python validation input try-catch