while循环中有多个输入,以及Python中的try-except块

我正在尝试创建一个投资回报率计算器。我只想接受int格式的输入。我创建了一个try-except块,以避免其他格式的输入。但是,如果任何用户在Rent或Loss中输入了错误的输入(例如str),我的逻辑就会失败。

如果他们这样做,则while循环开始再次请求投资的输入。我想绕过它,然后让代码从相应的变量本身(无论是Rent还是Loss)中请求输入。有什么建议吗?

print('This is a ROI calculator. Please enter below details:')

while True:
    try:
        Investment=int(input('Investment:'))
        Rent=int(input('Rent/month:'))
        Loss=int(input('Loss/year:'))
        if Loss:
            break
    except ValueError:
        print('Please enter in a number format only')

def ROI(Investment,Rent,Loss):
    Net_profit=int((Rent*12) - Loss)
    ROI=((Net_profit/Investment)*100)
    ROI=round(ROI,2)
    print(f'Your Return on Investment is: {ROI}')

ROI(Investment,Rent,Loss)