我只是在尝试 Python,而且非常喜欢它!但是我被 try/except 困住了。
我有一个代码可以检查 raw_input 是否为整数,但我想让它起作用,但它不想成为它:)
这是代码,我有这个:
number_of_iterations = raw_input("What is your favorite number?")
try:
int(number_of_iterations)
is_number = True
except:
is_number = False
while not is_number:
print "Please put a number!"
number_of_iterations = raw_input("What is your favorite number?")
try:
int(number_of_iterations)
is_number = True
except:
is_number = False
我不想在这里重复我的话&所以我想着要实现功能:
def check_input(input_number):
try:
int(input_number)
return True
except:
return False
但是输入字符串就报错,说int不能用于字符串。看起来它没有看到“try”关键字。 smone 可以解释为什么会发生这种情况以及将来如何预防吗?
最佳答案
试试这个,它可以避免在不需要 def
while True:
try:
number_of_iterations = int(raw_input("What is your favorite integer?"))
break
except ValueError:
print "Please put an integer!"
编辑:根据评论者的建议,我已将 break
添加到 block 的 try
部分以消除 else
(原文留作下文引用)。另外,我将“数字”更改为“整数”,因为“3.14”在上面的代码中无效。
这是我最初的建议。上面的行数更少(有些人可能会说这样更简洁),但我更喜欢下面的行,因为对我来说意图更清楚。
while True:
try:
number_of_iterations = int(raw_input("What is your favorite integer?"))
except ValueError:
print "Please put an integer!"
else:
break
关于python - "try"在 "def"之后没有通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225162/