Python 除值误差外的计算

Python 除值误差外的计算,python,valueerror,except,Python,Valueerror,Except,接下来是Al Sweigarts的python课程,并尝试修改他的cat代码。我可以使用if和elif语句来输入“except ValueError”,但我认为使用while语句会把事情搞砸。我希望这个简单的代码重复当用户输入的东西不正确,这是工作到目前为止。我只需要输入一个非整数作为输入 这与未使用break/continue语句有关吗 print('How many cats do you got') numCats = int(input()) while numCats < 0:

接下来是Al Sweigarts的python课程,并尝试修改他的cat代码。我可以使用if和elif语句来输入“except ValueError”,但我认为使用while语句会把事情搞砸。我希望这个简单的代码重复当用户输入的东西不正确,这是工作到目前为止。我只需要输入一个非整数作为输入

这与未使用break/continue语句有关吗

print('How many cats do you got')
numCats = int(input())

while numCats < 0:
    print('That is not a valid number')
    print('How many cats do you got')
    numCats = int(input())

if numCats >= 4:
        print('That is a lot of cats')

elif numCats < 4:
    print('That is not a lot of cats')

except ValueError:
    print('That was not a valid number')
print('你养了多少只猫')
numCats=int(输入())
当numCats<0时:
打印('这不是一个有效的数字')
打印('你有多少只猫')
numCats=int(输入())
如果numCats>=4:
打印('那是很多猫')
elif numCats<4:
打印('这不是很多猫')
除值错误外:
打印('这不是一个有效的数字')

如果输入了无效的数字,我只希望代码重复,同时在非整数值之后重复。不过,我无法通过这个错误部分。谢谢

除之外的
块需要一个
try
块。在
try
块中可以找到异常,如果找到,则运行
except
子句

while True:
    try:        
        print('How many cats do you got: ')
        numCats = int(input())
        if numCats >= 0:
            break
        else:
            print('That was not a valid number')
    except ValueError:
        print('That was not a valid number')

if numCats >= 4:
    print('That is a lot of cats')

elif numCats < 4:
    print('That is not a lot of cats')
为True时:
尝试:
打印('你有多少只猫:')
numCats=int(输入())
如果numCats>=0:
打破
其他:
打印('这不是一个有效的数字')
除值错误外:
打印('这不是一个有效的数字')
如果numCats>=4:
打印('那是很多猫')
elif numCats<4:
打印('这不是很多猫')

除了ValueError:
需要一个
try
,它在您发布的代码中缺失。@Austin它不在代码的底部吗?Exception ValueError在倒数第二个出现在我面前line@Austin也许我误读了你的评论,但这正是我目前遇到的问题。在
except
块之前应该有一个
try
块。@Austin-hmm它仍然告诉我,“except”部分的语法无效。我应该试着去掉while语句,只使用if和elif吗?我想在使用while代码给出有效答案之前,让代码重复会更容易,但可能不是哈哈。好吧,我现在明白了!我试图将它包含在底部,而我本应该将它缩进到while语句下面。谢谢如果用户第一次在第一个问题中输入无效输入,这仍然是不正确的<代码>值错误:以10为基数的int()的文本无效:“三”