我正在尝试制作一个程序,让用户知道一个数字是否在下限和上限之间,它还让他们知道它是否不是 int。我一直试图让它正常运行,但由于某种原因,我第一次输入任何值时它返回的不是整数,第二次输入一个值时它给出了正确的值,如果它更高或更低,我检查了我的缩进看看是否会导致它。我仍然不确定为什么。关于如何改进此代码或使其正常运行的任何想法?谢谢!
以下是主程序:
import damn
HIGH = 10
LOW = 5
prompt = "Please enter a value Between 5 and 10"
numbers = damn.get_pos_integer(prompt, HIGH, LOW)
print (numbers)
以下是我的功能:
def get_pos_integer(prompt, low, high):
s = input(prompt)
while True:
if s.isdigit():
x = int(s)
if x < low:
print("Number is too low")
elif x > high:
print("Number is too high")
else:
print("Number is an integer")
return x
else:
print("Not a number")
x = get_pos_integer(prompt, 5, 10)
print("You entered", x)