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
的类型转换?
答案 0 :(得分:1)
您可以使用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...")
答案 1 :(得分:1)
使用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)