我正在尝试创建一个函数,当我调用该函数时,它会提示用户输入一个整数并返回它是偶数还是奇数。 我试图这样做,以便我的代码在输入任何内容或输入字符串时向控制台输出错误,我已经达到了这一点,如果我输入一个数字,它返回数字,“是一个偶数”如果它是偶数和数字,“不是偶数”,如果它不是这里是我的代码下面我使用python 2.7.3
def is_even():
x = int(raw_input("Enter number"))
if x % 2 == 0:
return x, "is an even number"
else:
return x, "is not an even number"
print is_even()
答案 0 :(得分:6)
您应该使用try
- except
块:
def is_even():
try:
x = int(raw_input("Enter an integer: ")) # 'number' != 'integer'
if x % 2 == 0:
return x, "is an even number"
else:
return x, "is not an even number"
except ValueError:
return "Error: You didn't enter an integer!"
如果输入无法在行ValueError
上解析为整数,则会引发x = int(...)
,在这种情况下,我们会到达底部返回语句。
答案 1 :(得分:1)
您可以在转换为int之前使用isdigit()
方法:
def is_even():
x = raw_input("Enter number")
if x.isdigit():
if int(x) % 2 == 0:
return x, "is an even number"
else:
return x, "is not an even number"
else:
return x, "is not an int"