如果基于无效类的语句在Python
进入我很新的蟒蛇,我试图创建使用基于如果一个int输入(int(input())
)得到正确的输入类的if语句的程序。例如:如果我有去Var1 = int(input("Enter a number:..."))
输入,并且用户输入hello
那里,这会,而不是给一个错误信息,进入的一个if
声明的选项之一。如果基于无效类的语句在Python
由于代码的其余部分没有被创建但我不能发表,但我已经试过,我想出了解决没有成功这个问题的所有方面......谁能帮助我请?
你可以围绕你输入一个try..except
块和捕捉ValueError
时int()
尝试一个非整数转换成整数,将会发生:
try:
var1 = int(input("Enter an integer: "))
except ValueError:
print("That's not an integer!")
你甚至可以强制用户输入一个整数通过将其放置在一个循环:
var1 = None
while var1 is None:
try:
var1 = int(input("Enter an integer: "))
except ValueError:
print("That's not an integer!")
或者您也可以在以后的时间做检查:
var1 = input("Enter an integer: ")
try:
var1 = int(var1)
print("Thank you for entering an integer.")
except ValueError:
print("That's not an integer!")
谢谢,它工作正常! –
你可以使用try /除外:
while(True):
try:
var1 = int(input("enter a number: "))
break
except ValueError:
print('it should be a number')
注意:不要使用try /只是没有Execption类型,如:
try:
printo('hi')
except:
pass
它将所有的除外甚至excetions语法错误
我刚刚从zwer得到了同样的答案,它的工作原理,感谢您的帮助! –
什么当用户在这种情况下键入“hello”时会发生?你有例外吗?也许异常处理是前进的方向? – cdarke
检查'string.isdigit()'或'string.isalpha()'函数。这将解决您的要求。当你键入字母,当输入是一个整数输入你得到一个错误,而是的,我希望能够在两种不同势段来划分输入在if语句 – voidpro
@cdarke,一个是如果答案是一个整数如果没有,另一个。 –