Python 3.x 如果输入与浮点或整数不同的字母或字符,我的代码将给出一个错误

Python 3.x 如果输入与浮点或整数不同的字母或字符,我的代码将给出一个错误,python-3.x,loops,if-statement,Python 3.x,Loops,If Statement,我的目的是,如果用户输入的字母或字符与整数或浮点不同,但如果用户输入类似“jhdsjfhdhjd”的字母,则返回一条消息 这给了我一个错误 my_number = int(input("Please ,enter your number here !")) if my_number is not int: print("It is not a number a number !") else: my_num = int(my_number

我的目的是,如果用户输入的字母或字符与整数或浮点不同,但如果用户输入类似“jhdsjfhdhjd”的字母,则返回一条消息 这给了我一个错误

 my_number = int(input("Please ,enter your number here !"))
if my_number is not int:
    print("It is not a number a number !")
else:
    my_num = int(my_number)
    if my_num == 0:
        while my_num < 11 :
            print("Not there Yet , your number is " + str(my_num) + ".We continue increase your number to 10 !")
            my_num +=1
        print("Good, increasing is Done , the number is 10")
    elif my_num > 0:
        while my_num > -1:
            if my_num == 0:
                print("Correct ,the decreasing is finished.The number is 0")
        print("Not there Yet , your number is " + str(my_num)+ ".We continue decrease your number to 0 !")
        my_num -=1
    else:
        print("It isn't a number ,Please enter an integer")


   
my_number=int(输入(“请在此处输入您的号码!”)
如果我的_编号不是int:
打印(“它不是一个数字,而是一个数字!”)
其他:
我的号码=int(我的号码)
如果my_num==0:
当我的_num<11时:
打印(“还没有,您的号码是“+str(my_num)+”。我们继续将您的号码增加到10!”)
my_num+=1
打印(“好,增加完成,数字为10”)
如果my_num>0:
而我的\u num>-1:
如果my_num==0:
打印(“正确,递减完成。数字为0”)
打印(“还没有,您的号码是“+str(my_num)+”。我们继续将您的号码减少到0!”)
my_num-=1
其他:
打印(“不是数字,请输入整数”)

输入函数将键入的值捕获为字符串。可以使用int()将其强制为整数,但如果输入的值是浮点数,则会失去精度

有很多方法可以区分字符串、整数和浮点。可以使用检查字符串是整数、浮点还是字符串。以下是可能的解决方案之一。此外,在代码中,您正在处理0和>0,但不处理<0的情况。您可能也想添加该部分。如果输入数字是浮点数,还需要修改逻辑

重新导入
我的号码=输入(“请在此处输入您的号码!”)
如果不重新匹配(r'^[+-]?[0-9]*[\.]?[0-9]*$,我的号码):
打印(“它不是一个数字,而是一个数字!”)
其他:
如果re.fullmatch(r'^[+-]?[0-9]*$,my#u number):#输入字符串是一个整数
打印(“您输入了一个整数”)
我的号码=int(我的号码)
否则:#这是一个浮动
打印(“您输入了浮动”)
my_num=浮动(my_number)
如果my_num==0.0:
当我的_num<11时:
打印(“还没有,您的号码是“+str(my_num)+”。我们继续将您的号码增加到10!”)
my_num+=1
打印(“好,增加完成,数字为10”)
如果my_num>0:
而我的\u num>-1:
如果my_num==0:
打印(“正确,递减完成。数字为0”)
其他:
打印(“还没有,您的号码是“+str(my_num)+”。我们继续将您的号码减少到0!”)
my_num-=1
字符串的输出是

Please ,enter your number here !abcdef
It is not a number a number !
0的输出如下所示

请在这里输入您的号码!0
您输入了一个整数
还没有,您的号码是0。我们继续将您的号码增加到10!
还没有,您的号码是1。我们继续将您的号码增加到10!
还没有,您的号码是2。我们继续将您的号码增加到10!
还没有,您的号码是3。我们继续将您的号码增加到10!
还没有,您的号码是4。我们继续将您的号码增加到10!
还没有,您的号码是5。我们继续将您的号码增加到10!
还没有,您的号码是6。我们继续将您的号码增加到10!
还没有,您的号码是7。我们继续将您的号码增加到10!
还没有,您的号码是8。我们继续将您的号码增加到10!
还没有,您的号码是9。我们继续将您的号码增加到10!
还没有,您的号码是10。我们继续将您的号码增加到10!
很好,增加完成了,数字是10
正整数的输出如下所示

请在这里输入您的号码!8.
您输入了一个整数
还没有,您的号码是8。我们将继续将您的号码减少到0!
还没有,您的号码是7。我们将继续将您的号码减少到0!
还没有,您的号码是6。我们将继续将您的号码减少到0!
还没有,您的号码是5。我们将继续将您的号码减少到0!
还没有,您的号码是4。我们将继续将您的号码减少到0!
还没有,您的号码是3。我们将继续将您的号码减少到0!
还没有,您的号码是2。我们将继续将您的号码减少到0!
还没有,您的号码是1。我们将继续将您的号码减少到0!
正确,递减完成。数字为0
浮点数的输出为

请在这里输入您的号码!6.5
你输入了一个浮动
还没有,您的号码是6.5。我们将继续将您的号码减少到0!
还没有,您的号码是5.5。我们将继续将您的号码减少到0!
还没有,您的号码是4.5。我们将继续将您的号码减少到0!
还没有,您的号码是3.5。我们将继续将您的号码减少到0!
还没有,您的号码是2.5。我们将继续将您的号码减少到0!
还没有,您的号码是1.5。我们将继续将您的号码减少到0!
还没有,您的号码是0.5。我们将继续将您的号码减少到0!
还没有,您的号码是-0.5。我们继续将您的号码减少到0!

最好。

在将输入转换为整数或浮点之前,需要检查输入是否为数值
isnumeric()