我正在编写一个程序,要求用户输入并检查它是否为整数。如果是,则将其转换为整数并返回该值。如果用户键入的不是数字,则程序会要求用户再次输入数字。如果用户仅按下Enter键并保持输入为空,则它将返回默认值。
def inputNumber(message):
number = input(message)
if number !='':
if number.isdigit():
number = int(number)
return number
else:
print("This is not a whole number! Try again.")
inputNumber(message)
else:
number = int(1000)
return number
在我写信之前,程序运行良好。如果我写例如“ x”,它会说再试一次:
Max cooldown(secs): x
This is not a whole number! Try again.
Max cooldown(secs):
但是,如果我按下输入为空的输入,则不会返回默认值,而是返回None。这只有在我写信出错时才会发生。
答案 0 :(得分:0)
在输入不是数字的情况下,您递归调用inputNumber
,在这种情况下,您应该使用:
return inputNumber(message)