Python 检查第一个循环的第二个循环

Python 检查第一个循环的第二个循环,python,python-3.x,Python,Python 3.x,我有两个循环,第一个循环检查给定值是否为int,如果是,则跳到第二个循环,第二个循环检查给定值是否为负。然而,如果我给一个负的int输入,它会在逻辑上跳转到第二个循环,检查它是否为负。因此,在我放入-2的情况下,整数检查将为真,但如果我的下一个值为-2.2,则不会有整数检查,因为它已经为真 while (integer_check == False): try: integer = int(input(" :")) except ValueError:

我有两个循环,第一个循环检查给定值是否为int,如果是,则跳到第二个循环,第二个循环检查给定值是否为负。然而,如果我给一个负的int输入,它会在逻辑上跳转到第二个循环,检查它是否为负。因此,在我放入-2的情况下,整数检查将为真,但如果我的下一个值为-2.2,则不会有整数检查,因为它已经为真

while (integer_check == False):
     try:
         integer = int(input(" :"))
     except ValueError:
         continue
     else:
         integer_check = True

while (integer < 0) and (integer_check == True):
    integer = int(input(" :"))
while(整数检查==False):
尝试:
整数=int(输入(“:”)
除值错误外:
持续
其他:
整数检查=真
而(整数<0)和(整数检查==真):
整数=int(输入(“:”)

因此,在:负整数>负/正浮点的情况下,我的代码中断。非常感谢您提供的任何帮助。

python的方法是将整个过程包装在一个
中,同时为True
并循环,直到通过所有验证,然后中断

为True时:
整数=输入(“:”)
尝试:
整数=int(整数)
除值错误外:
打印(“必须输入一个数字”)
持续
如果整数<0:
打印(“必须输入正数”)
持续
其他:
打破
不过,我更倾向于使用Go习惯用法,但请注意,在Python中这并不是首选的

def验证(输入)->(int,bool):
整数,ok=-1,False
尝试:
整数=整数(输入值)
除值错误外:
通过
其他:
如果整数>=0:
ok=正确
返回整数,好吗
尽管如此:
整数,确定=验证(输入(“:”)
如果确定:
打破

python的方法是将整个过程包装成
while True
循环,直到通过所有验证,然后中断

为True时:
整数=输入(“:”)
尝试:
整数=int(整数)
除值错误外:
打印(“必须输入一个数字”)
持续
如果整数<0:
打印(“必须输入正数”)
持续
其他:
打破
不过,我更倾向于使用Go习惯用法,但请注意,在Python中这并不是首选的

def验证(输入)->(int,bool):
整数,ok=-1,False
尝试:
整数=整数(输入值)
除值错误外:
通过
其他:
如果整数>=0:
ok=正确
返回整数,好吗
尽管如此:
整数,确定=验证(输入(“:”)
如果确定:
打破

integer=True
更改为
integer\u check=True
中的
否则
在第一个循环中,whoops不应该是这样的,我的变量使用了不同的语言,所以我把更改名称搞砸了。在
中,将
integer=True
更改为
integer\u check=True
,否则
在你的第一个循环中,我的变量使用了不同的语言,所以我把更改名称搞砸了。