猿问

如果提供了非整数 int() 如何处理 ValueError

Python 将函数读取input()为字符串。在将它传递给我的函数进行除法之前,变量使用int(). 如果一个变量是非整数(例如"a"),那么如何捕获它?


def divideNums(x,y):

    try:

        divResult = x/y

    except ValueError:

        print ("Please provide only Integers...")

    print (str(x) + " divided by " + str(y) + " equals " + str(divResult))


def main():

    firstVal = input("Enter First Number: ")

    secondVal = input("Enter Second Number: ")

    divideNums (int(firstVal), int(secondVal))


if __name__ == "__main__":

    main()

如何处理firstVal/ 的类型转换secondVal?


杨魅力
浏览 152回答 2
2回答

一只名叫tom的猫

使用try/except ValueError块是对的,但用错了地方。try 块需要在变量被转换为整数的地方。例如。def main():    firstVal = input("Enter First Number: ")    secondVal = input("Enter Second Number: ")    try:        firstVal = int(firstVal)        secondVal = int(secondVal)    except ValueError:        # print the error message and return early        print("Please provide only Integers...")        return    divideNums (firstVal, secondVal)

森栏

您可以使用 isdigit 函数来检查输入值是否为整数def main():    firstVal = input("Enter First Number: ")    secondVal = input("Enter Second Number: ")    if firstVal.isdigit() and secondVal.isdigit():        divideNums (int(firstVal), int(secondVal))    else:        print ("Please provide only Integers...")
随时随地看视频慕课网APP

相关分类

Python
我要回答