首页 > 解决方案 > 如果 int() 提供非整数,如何处理 ValueError

问题描述

Python 将函数读取input()为字符串。在将它传递给我的函数进行除法之前,变量被类型转换为 int 使用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

标签: python

解决方案


您可以使用 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...")

推荐阅读